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

Cloud Code for VS Code wurde entwickelt, um die Konfiguration von Kubernetes und Cloud Build durch Linting für Schemata nach Struktur und gültige Werte zu vereinfachen und beschreibende Fehler bereitzustellen. 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 außerdem vorkonfigurierte benutzerdefinierte Kubernetes-Ressourcendefinitionen (CRDs) wie Kubeflow.

Benutzerdefiniertes Schema verwenden

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

Schema aus einem Cluster abrufen

Wenn Sie in der Kubernetes-Ansicht zu einem Cluster wechseln, auf dem Kubernetes v1.16 und höher ausgeführt wird, ruft Cloud Code automatisch das Schema aller installierten CRDs ab.

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 Instanzen nach dem Ausfüllen des ersten Felds automatisch ausgefüllt werden.

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

Vollständig mit Kontext

Basierend auf dem aktuellen Schema bietet Cloud Code kontextbezogene Vervollständigungen 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.

Der Wert des Namensfelds ist rot unterstrichen, um den ungültigen Wert 1234 hervorzuheben. Wenn der Mauszeiger darauf bewegt wird, wird Folgendes angezeigt: Falscher Typ. Erwarteter String.

Dokumentation entdecken, wenn der Mauszeiger darauf bewegt wird

Wenn Sie den Mauszeiger auf einen Wert im Schema bewegen, zeigt Cloud Code die relevante Dokumentation an.

Dokumentationsinformationen, wenn Sie den Mauszeiger über einen Wert im Schema halten

Auf Ressourcendefinitionen zugreifen

Klicken Sie mit der rechten Maustaste auf die Ressource und wählen Sie Go to Definition (Zur Definition) oder Peek Definition (Peek-Definition) aus, um Definitionen für eine Ressource anzusehen.

YAML-Datei anwenden

Zum Anwenden einer Konfigurationsänderung mit der aktuellen Datei öffnen Sie die Befehlspalette. Drücken Sie dazu Ctrl/Cmd + Shift + P oder klicken Sie auf Ansicht > Befehlspalette. Führen Sie dann Cloud Code: Aktuelle JSON/YAML-Datei auf die bereitgestellte K8s-Ressource anwenden 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

Wenn Sie sich die Unterschiede zwischen einer YAML-Datei in der Versionsverwaltung und einer bereitgestellten YAML-Datei ansehen möchten, öffnen Sie die Befehlspalette (drücken Sie Ctrl/Cmd + Shift + P oder klicken Sie auf Ansicht > Befehlspalette) und führen Sie dann Cloud Code: Diff Current JSON/YAML File with K8s Deployed Resource aus.

Probelauf einer YAML-Datei ausführen

Cloud Code führt automatisch Probeläufe durch, während Sie Informationen in Ihre YAML-Datei eingeben. Fehler werden durch eine gelbe, verschnörkelte Linie unterstrichen.

Gelbe, verschnörkelte Linien werden angezeigt, wenn der Server einen Teil Ihres Codes als Fehler aufgrund des Ergebnisses eines Probelaufs betrachtet. Dazu können Richtlinienverstöße, doppelte Namen oder Validierungen gehören, die Cloud Code auf Clientseite nicht durchführt (z. B. maximale Portnummern).

Bewegen Sie den Mauszeiger auf den gelb unterstrichenen Code, um die Fehlerbeschreibung in der YAML-Datei zu sehen.

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

Für erkannte Fehler werden rote, verschnörkelte Linien angezeigt, bevor Cloud Code eine Prüfung beim Kubernetes-Server durchführt. Wenn Sie beispielsweise eine Zahl eingeben, an der ein String erwartet wird, wird eine rote, verschnörkelte Linie ausgelöst.

Mit Secrets arbeiten

Die Verwendung von Konfigurationszuordnungen und secrets ist ein wichtiger Bestandteil der Arbeit mit Kubernetes. Halten Sie den Mauszeiger über das Secret, um es zu decodieren, um den Kontext eines base64-Secrets mit Cloud Code anzusehen.

Secret decodieren, indem Sie den Zeiger über das Secret halten

Nächste Schritte

Support anfragen

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