Mit Google Cloud und Kubernetes YAML in Cloud Code for VS Code arbeiten

Cloud Code for VS Code wurde entwickelt, um Kubernetes und Cloud Build durch Linting des Schemas sowohl auf Strukturen als auch auf gültige Werte beschreibende Fehler zurückgegeben. Zusammen mit Cloud Code erhalten Sie sofort einsatzbereite Lösungen für allgemeine Schemas, intelligente Vervollständigung und Dokumentation durch Mauszeigerbewegung.

Unterstützte YAML-Konfigurationsdateien

Cloud Code unterstützt auch beliebte benutzerdefinierte Kubernetes-Ressourcen Definitionen (CRDs), wie Kubeflow, sofort einsatzbereit.

Benutzerdefiniertes Schema verwenden

Mit Cloud Code können Sie Ihr eigenes CRD-Schema mit dem cloudcode.yaml.crdSchemaLocations-Einstellung in Ihrem settings.json -Datei. Sie können entweder auf eine lokale Datei oder eine URL verweisen. URLs, die auf github.com verweisen, sind automatisch in raw.githubusercontent.com konvertiert.

Schema aus einem Cluster abrufen

Wenn Sie zu einem Cluster mit Kubernetes v1.16 und höher in der in der Kubernetes-Ansicht ruft Cloud Code automatisch das Schema alle installierten CRDs.

Mit Snippets konfigurieren

Sofort einsatzbereite Snippets für gängige YAML-Schemas (mit Command/Ctrl+Space zum Aufrufen von Optionen) vereinfachen das Starten einer neuen YAML-Datei und das fehlerfreie Hinzufügen zu einer vorhandenen Datei. Dabei werden Best Practices beachtet. Cloud Code erleichtert die Arbeit mit sich wiederholenden Feldern, da die verbleibenden nachdem Sie das erste Feld ausgefüllt haben.

Cloud Code bietet die folgenden Snippets:

  • Anthos Config Management - Cluster
  • Anthos Config Management - Cluster Selector
  • Anthos Config Management - Config Management
  • Anthos Config Management - Namespace Selector
  • Cloud Build - Cloud Run deployment
  • Cloud Build - Docker container build
  • Cloud Build - GKE deployment
  • Cloud Build - GKE Skaffold deployment
  • Cloud Build - Go build
  • Cloud Build - Terraform plan + apply
  • Config Connector - BigQueryDataset
  • Config Connector - BigQueryTable
  • Config Connector - BigtableCluster
  • Config Connector - BigtableInstance
  • Config Connector - PubSubSubscription
  • Config Connector - PubSubTopic
  • Config Connector - RedisInstance
  • Config Connector - SpannerInstance
  • Kubernetes - ConfigMap
  • Kubernetes - Deployment
  • Kubernetes - Ingress
  • Kubernetes - Pod
  • Kubernetes - Secret
  • Kubernetes - Service
  • Migrate to Containers - Export
  • Migrate to Containers - PersistentVolumeClaim
  • Migrate to Containers - StatefulSet
  • Skaffold - Bazel
  • Skaffold - Getting-started
  • Skaffold - Helm deployment
  • Skaffold - Kaniko

Mit Kontext vervollständigen

Basierend auf dem aktuellen Schema stellt Cloud Code kontextbezogene Ergänzungen und relevante Dokumente, die Ihnen bei der Auswahl der richtigen Option helfen.

Kontextvervollständigung für Kubernetes-Schemas

YAML-Schema validieren

Cloud Code bietet Unterstützung für die Schemavalidierung. Dazu werden ungültige Tags und Werte in Ihren YAML-Dateien mit Flags versehen und es werden nach Möglichkeit Korrekturen empfohlen.

Wert des Namensfelds rot unterstrichen, um den ungültigen Wert 1234 hervorzuheben; Hover-Text besagt: Falscher Typ. Erwarteter String.

Dokumentation aufrufen, wenn der Mauszeiger darauf bewegt wird

Cloud Code zeigt relevante Dokumentation an, wenn Sie die Zeiger auf einen Wert im Schema.

Dokumentationsinformationen, wenn Sie den Mauszeiger auf einen Wert im Schema bewegen

Auf Ressourcendefinitionen zugreifen

Um Definitionen für eine Ressource anzuzeigen, klicken Sie mit der rechten Maustaste auf die Ressource und wählen Sie Rufen Sie die Definition oder Peek Definition auf.

YAML-Datei anwenden

Um eine Konfigurationsänderung mit der aktuellen Datei anzuwenden, öffnen Sie den Befehl Palette (Ctrl/Cmd + Shift + P drücken oder auf Ansicht > Befehlspalette klicken) und führen Sie dann Cloud Code: Apply Current JSON/YAML File to K8s Deployed Resource aus.

Mit diesem Befehl wird eine Unterschiedsansicht angezeigt, mit der Sie Änderungen prüfen können. Klicken Sie auf Anwenden, wenn Sie gefragt werden, ob Sie diese Änderung anwenden möchten. Dadurch wird kubectl apply -f ausgeführt.

Unterschiede zwischen YAML-Dateien ansehen

Um die Unterschiede zwischen einer YAML-Datei in der Versionsverwaltung und einer bereitgestellten YAML-Datei öffnen, öffnen Sie die Befehlspalette. Drücken Sie dazu Ctrl/Cmd + Shift + P oder klicken Sie auf Ansehen > Befehlspalette) und führen Sie dann Folgendes aus: Cloud Code: Aktuelle JSON-/YAML-Datei mit bereitgestellter K8s-Ressource unterscheiden.

Probelauf einer YAML-Datei ausführen

Cloud Code führt während der Eingabe von Informationen automatisch Probeläufe aus in Ihrer YAML-Datei und unterstreicht alle Fehler mit einer gelben, verschnörkelten Zeile.

Gelbe, verschnörkelte Linien werden angezeigt, wenn der Server einen Teil Ihres Codes berücksichtigt basierend auf dem Ergebnis eines Probelaufs einen Fehler. Dazu können Richtlinienverstöße, doppelte Namen oder Validierungen, die Cloud Code nicht durchführt (wie max. Portnummern).

Halten Sie den Mauszeiger über die Anzeige, um die Fehlerbeschreibung in der YAML-Datei anzusehen. gelb unterstrichen.

Die serverseitige Validierung des Probelaufs schlägt in „hello.deployment.yaml“ fehl und eine Fehlermeldung wird als Toast angezeigt. Die Fehlerdetails finden Sie im Ausgabekanal. Der Namespace „random-namespace“ ist nicht vorhanden

Rote, verschnörkelte Linien werden für erkannte Fehler vor Cloud Code angezeigt mit dem Kubernetes-Server. Wenn Sie z. B. eine Zahl anstelle einer Zeichenfolge löst eine rote, verschnörkelte Linie aus.

Mit Secrets arbeiten

Konfigurationszuordnungen und geheimnisse ist ein wichtiger Bestandteil der Arbeit mit Kubernetes. So rufen Sie den Kontext einer Base64-Property auf: Secret mit Cloud Code, halten Sie zum Decodieren den Mauszeiger über das Secret .

Secret decodieren, indem du den Mauszeiger über das Secret hältst

Nächste Schritte

Support erhalten

Wenn Sie uns Feedback geben möchten, können Sie Probleme auf GitHub melden oder eine Frage in Stack Overflow stellen.