Gestalten Sie die Zukunft der Softwarebereitstellung und tragen Sie Ihre Stimme durch. Nehmen Sie dazu den 2021 der DevOps-Umfrage an.

Mit YAML-Dateien für Google Cloud und Kubernetes arbeiten

Cloud Code unterstützt Sie bei der Bearbeitung von Konfigurationsdateien für Google Cloud und Kubernetes, darunter Dateien zur schemabasierten Validierung, Diagnose und Kurzdokumentation.

Unterstützte YAML-Konfigurationsdateien

Darüber hinaus unterstützt Cloud Code auch beliebte und direkt einsetzbare Kubernetes-CRDs wie Kubeflow.

Benutzerdefiniertes Schema verwenden

Mit Cloud Code können Sie außerdem ein eigenes CRD-Schema mit IntelliJ-Einstellungen bereitstellen (Datei >"Einstellungen" >Werkzeug/Hilfsmittel >Cloud Code > Kubernetes Für Mac OS XIntelliJ IDEA >Einstellungen > Werkzeug/Hilfsmittel >Cloud Code >Kubernetes und gehen Sie zu CRD-Schemaspeicherorte .

Sie können entweder auf eine lokale Datei oder eine URL verweisen. URLs, die auf github.com verweisen, werden automatisch in raw.githubusercontent.com umgewandelt.

Schema aus einem Cluster abrufen

Wenn Sie im Kubernetes Explorer zu einem Cluster mit Kubernetes v1.16 und höher wechseln, ruft Cloud Code automatisch das Schema aller installierten CRDs ab.

Weitere Skaffold-Unterstützung

Skaffold ist die Cloud Code unterliegende Engine. Sie hilft Ihnen beim Erstellen, Übertragen und Bereitstellen Ihrer Anwendung und bietet Unterstützung für CI-/CD-Pipelines.

Cloud Code unterstützt zusätzlich die Verwaltung von Skaffold-Konfigurationsdateien. Beim Öffnen eines Projekts erkennt Cloud Code Skaffold-Schemas, die nicht aktuell sind, und informiert Sie (über das Ereignislog), wenn für Ihre vorhandenen Skaffold-YAML-Konfigurationsdateien ein Upgrade verfügbar ist .

Benachrichtigung im Ereignisprotokoll, über die der Nutzer aufgefordert wird, ein Upgrade der Skaffold-Schemaversion durchzuführen, da die vorhandenen YAML-Dateien nicht die neueste Version haben

Alternativ können Sie Tools > Cloud Code > Kubernetes aufrufen und Auf Skaffold Schema-Upgrades prüfen wählen, um nach verfügbaren Schemaupgrades zu suchen.

Konfiguration mit Snippets durchführen

Sofort einsatzbereite Snippets für gängige YAML-Schemas (mit 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. Außerdem wird die Arbeit mit sich wiederholenden Feldern vereinfacht. Wenn Sie eines der Felder ausfüllen, werden die verbleibenden Instanzen automatisch von Cloud Code ausgefüllt.

Grafik: Snippets für sich wiederholende Felder verwenden

Derzeit werden die folgenden Snippets angeboten:

  • 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 - Service
  • Migrate for Anthos - Export
  • Migrate for Anthos - PersistentVolumeClaim
  • Migrate for Anthos - StatefulSet
  • Skaffold - Bazel
  • Skaffold - Getting-started
  • Skaffold - Helm deployment
  • Skaffold - Kaniko

Kontextbezogene Vervollständigung

Anhand des aktuellen Schemas stellt Cloud Code eine kontextbezogene Vervollständigung für die Auswahl der richtigen Option bereit.

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 Text, um einen ungültigen Wert von '1234' hervorzuheben; Hover-Text zeigt: „Falscher Typ. Erwarteter String.“

Skaffold-YAML-Dateien validieren

Cloud Code unterstützt die Bearbeitung von Skaffold-Konfigurationsdateien und enthält intelligente Vorlagen, mit denen Sie Ihre skaffold.yaml-Dateien einfach validieren können. Weitere Informationen finden Sie im Leitfaden zur Verwendung einer vorhandenen Anwendung mit Cloud Code.

Grafik: Skaffold-YAML-Vorlagen

Skaffold-Konfigurationsdateien mit Kontext vervollständigen

Basierend auf dem aktuellen Schema stellt Cloud Code eine kontextbezogene Vervollständigung und entsprechende Dokumente für die Auswahl der richtigen Option bereit.

Grafik: Skaffold-Vervollständigungen

Skaffold-Dateisynchronisierung und Hot-Reload aktivieren

Damit die Effizienz Ihres lokalen Entwicklungsworkflows verbessert und vermieden werden kann, dass Pods neu erstellt, neu bereitgestellt und neu gestartet werden müssen, unterstützt Skaffold das Ändern geänderter Dateien in einen bereitgestellten Container. Wenn Sie Änderungen an statischen und Quellcodedateien vornehmen, treten diese Änderungen also innerhalb weniger Sekunden in Kraft. Dies ist eine schnellere Feedbackschleife.

Bei statischen Dateien (wie HTML- und CSS-Dateien) wird das Kopieren von Dateien als Dateisynchronisierung bezeichnet.

Bei Quellcodedateien wird dieses Verhalten als Hot Reload bezeichnet und für die folgenden Dateitypen verwendet:

  • Go: *.go
  • Java: *.java, *.kt, *.scala, *.grovy, *.clj
  • NodeJS: *.js, *.mjs, *.kaffee, *.litkaffee, *.json

Wenn konfiguriertes Neuladen konfiguriert ist, erkennt Skaffold Änderungen an unterstützten Dateien und synchronisiert diese Änderungen mit dem ausgeführten Container in Ihrem Cluster. Dadurch entfällt die Notwendigkeit einer umständlichen Neuerstellung von Images und der Neustart von Pods. Änderungen an anderen Dateitypen führen jedoch zu einer Neuerstellung eines Images.

Die automatische Dateisynchronisierung und das automatische Aktualisieren sind standardmäßig aktiviert, wenn Sie mit Buildpacks Ihren bevorzugten Builder verwenden. In anderen Builders wie Docker können Sie einen Abschnitt sync in der Datei skaffold.yaml für das Artefakt angeben, das Sie anpassen.

In den Synchronisierungseinstellungen sind folgende Einstellungen möglich:

  • auto (nur für Artefakte von Jib und Buildpacks)
  • infer
  • manual

Wenn Sie eine Synchronisierung für manual angeben, um alle /static-html-HTML-Dateien mit dem Ordner static in Ihrem Container zu synchronisieren, würde die Datei skaffold.yaml diesen Abschnitt sync enthalten:

build:
  artifacts:
    - image: gcr.io/k8s-skaffold/node-example
      context: node
      sync:
        manual:
          - src: 'static-html/*.html'
            dest: static

Ausführliche Informationen zur Dateisynchronisierung und zum Festlegen von Synchronisierungsregeln finden Sie im Skaffold-Leitfaden zur Dateisynchronisierung.

Definitionen durch Schnelldokumentation abrufen

Cloud Code zeigt Ihnen die passende Dokumentation zu einer Ressource an, wenn Sie eine Zeile in Ihrer Konfigurationsdatei markieren und View > Quick documentation auswählen.

Grafik: Kurzdokumentation

Linting von YAML für strukturelle Probleme und Validitätsprobleme

Cloud Code bietet Linting-Unterstützung für gängige Schemaprobleme und stellt Fehlerbeschreibungen bereit.

Grafik: Linting von YAML-Dateien

YAML-Datei anwenden

Zum Ausführen einer Konfigurationsänderung mit der aktuellen Datei mit kubectl apply -f können Sie das kubectl-Aktionssymbol Symbol für kubectl-Aktionen verwenden, das im Menü der IDE verfügbar ist. Wählen Sie dann Anwenden. Dadurch können Sie die Änderungen prüfen, bevor Sie auf Anwenden klicken.

In der kubectl-Aktionsliste hervorgehobene Option "Apply" (Anwenden)

Zwischen YAML-Dateien wechseln

Wenn Sie die Unterschiede zwischen einer YAML-Datei in der Versionsverwaltung und einer bereitgestellten YAML-Datei aufrufen möchten, können Sie das kubectl-Aktionssymbol Symbol für kubectl-Aktionen verwenden, das im Editor Ihres Editors verfügbar ist. Wählen Sie die Option Diff (Diff) aus, um eine Differenzsansicht zu erstellen, in der Sie zwei Schemadateien vergleichen und vergleichen können.

Option "Unterschiede" in der kubectl-Aktionsliste

Probelauf einer YAML-Datei ausführen

Um einen Probelauf Ihrer Datei auszuführen und ihre Gültigkeit zu überprüfen, können Sie das kubectl-Aktionssymbol verwendenSymbol für kubectl-Aktionen , die im Editor von IDE verfügbar ist, Probelauf auf Server oderProbelauf auf Client auf. Damit wird kubectl apply -f dry-run=server ausgeführt (oder kubectl apply -f dry-run=client für die Clientoption) und Sie werden benachrichtigt, wenn die Datei erfolgreich im Terminalfenster erstellt wurde.

Probelauf auf Server, hervorgehoben in der Liste "kubectl action"

Support

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