Vorhandene Anwendung verwenden

Wenn Sie bereits ein Projekt mit Kubernetes-Manifesten, einem Dockerfile oder Jib zum Erstellen Ihrer Images konfiguriert haben, können Sie es öffnen und mit dem Plug-in verwenden. Sie müssen dafür nur noch zusätzlich eine Skaffold-YAML-Datei konfigurieren. Diese kann automatisch für Sie generiert werden oder Sie erstellen diese aus der mitgelieferten Vorlage.

Nach der Konfiguration der Skaffold-YAML-Datei müssen Sie angeben, wo Ihre Container-Images gespeichert werden sollen und wohin das Projekt-Image per Push übertragen werden soll.

Automatisches Projekt-Bootstrapping

Ihr Projekt muss mindestens ein Kubernetes-Manifest haben. Wenn Cloud Code beliebige Kubernetes-Manifeste im Projekt erkennt, versucht Cloud Code, zu bootstrappen.

Wenn Cloud Code keine vorhandene Skaffold-Konfiguration erkennt, werden Sie aufgefordert, diese einzurichten:

Vorbereitung

Ihr Projekt muss die folgenden Voraussetzungen erfüllen, um zur Erstellung einer skaffold.yaml-Datei aufgefordert zu werden und die erforderlichen Konfigurationen auszuführen:

  • (Option 1) Ihr Projekt hat ein Dockerfile und ist für Jib konfiguriert oder

  • (Option 2) Ihr Projekt kann mit Buildpacks erstellt werden und enthält Kubernetes-Ressourcen.

Skaffold-Konfiguration einrichten

Wenn die Voraussetzungen erfüllt sind, werden Sie von Cloud Code aufgefordert, eine Benachrichtigung zum Erstellen einer skaffold.yaml-Datei (falls noch nicht vorhanden) und alle erforderlichen Ausführungskonfigurationen zu erstellen:

Benachrichtigung mit einem Link zum Erstellen Ihrer Cloud Code-Ausführungskonfigurationen für Kubernetes

  1. Klicken Sie auf die Benachrichtigung. Dadurch wird Ihre Konfiguration nach Möglichkeit automatisch erstellt.

    Wenn eine automatische Skaffold-Konfiguration nicht möglich ist, weil mehrere Images oder Builder erkannt wurden, wird von Cloud Code ein Dialogfeld angezeigt, in dem Sie aufgefordert werden, Zuordnungen zwischen den erkannten Images und Buildern anzugeben.

    Build-Einstellungen festlegen, die in Ihrer Skaffold-Konfiguration verwendet werden sollen

    Alternativ können Sie eine Skaffold-Konfiguration einrichten. Rufen Sie dazu Folgendes auf: Tools >Grafik: Cloud Code >Kubernetes undKubernetes-Support hinzufügen auswählen.

    Diese Option analysiert die Kubernetes-Ressourcen Ihres Projekts und generiert eine Datei skaffold.yaml, falls noch keine vorhanden ist, sowie erforderliche Ausführungskonfigurationen. Die beiden generierten Ausführungskonfigurationen enthalten eine Konfiguration, um Ihr Projekt auf Kubernetes auszuführen, und eine für die Entwicklung in einem Kubernetes-Cluster.

  2. Nachdem die Unterstützung hinzugefügt wurde, können Sie Ihr Projekt in Kubernetes mithilfe der neu hinzugefügten Ausführungskonfigurationen ausführen und Fehler beheben.

Cloud Code-Skaffold-Konfiguration manuell erstellen

Sie können entweder manuell eine neue Datei "skaffold.yaml" erstellen oder Ihrem Projekt eine vorhandene Datei hinzufügen.

So erstellen Sie eine Datei skaffold.yaml manuell mithilfe von Live-Vorlagen:

  1. Erstellen Sie im Stammverzeichnis Ihres Projekts eine neue Datei mit dem Namen "skaffold.yaml". Klicken Sie dazu mit der rechten Maustaste und wählen Sie Neu > Datei aus.

  2. Drücken Sie Ctrl+Space in der neuen Datei mit dem Cursor, um die Vorschläge für die Live-Vorlage aufzurufen, und wählen Sie die gewünschte Skaffold-Vorlage aus.

    Skaffold-YAML-Vorlage verwenden

  3. Füllen Sie das Image-Feld mit dem Namen des Projekt-Images und dem Feld "Manifest" mit einer Liste der Kubernetes-Ressourcen, die Sie aus der IDE bereitstellen möchten.

  4. Nachdem Cloud Code festgestellt hat, dass Ihre Datei skaffold.yaml gültig ist, klicken Sie auf die Eingabeaufforderung, um Kubernetes-Ausführungskonfigurationen zu erstellen.

    Benachrichtigung für Kubernetes-Ausführungsziele erstellen

Beispiele für Skaffold-Konfigurationen für Cloud Code

  • Dockerfile-basierte Builds:

    build:
      artifacts:
        - image: image_name
    deploy:
      kubectl:
        manifests:
          - k8s/web.yaml
          - k8s/backend.yaml
    
  • Erstellen Sie einen Abschnitt für Java Maven/Gradle-Projekte mit dem Jib-Plug-in (der Abschnitt "deploy" bleibt wie im obigen Beispiel):

    build:
    artifacts:
    - image: image_name
      jib: {}
    
  • Wenn Sie Build-, Test- und Deployment-Konfigurationen für verschiedene Kontexte definieren möchten, können Sie unterschiedliche Profile haben. Hier ist ein Beispiel für ein Cloud Build-Profil, um Cloud Code zum Erstellen von Images mit Cloud Build zu konfigurieren:

    profiles:
    # use the cloudbuild profile to build images using Google Cloud Build
    - name: cloudbuild
      build:
        googleCloudBuild: {}
    
  • Wenn Sie Ihr Projekt mit Helm bereitstellen möchten, finden Sie entsprechende Informationen in der Helm-Dokumentation.

Speicherort der Container-Images angeben

Container-Image-Speicher

Bevor Sie Ihre Anwendung bereitstellen, müssen Sie ein Standard-Image-Repository definieren, das mit Ihrem Projekt verwendet werden soll.

Standardmäßig ist das Projekt so konfiguriert, dass es den in Ihren Kubernetes-Manifesten angegebenen Image-Namen verwendet. Sie können diese Image-Spezifikation auch anpassen. Wenn Sie Ihr bevorzugtes Repository eingerichtet haben (Artifact Registry, Container Registry, DockerHub, privates Repository, usw.), führen Sie die Ausführungskonfigurationen aus und geben sie in den Konfigurationseinstellungen für die Ausführung als Standard-Image-Repository an. Bei Google Container Registry-Images ist im Feld automatische Vervollständigung verfügbar, damit Sie Ihr Container Registry-Repository schneller finden.

Diese können Sie über das Dialogfeld "Konfigurationen ausführen/debuggen" in der oberen Taskleiste unterKonfigurationen bearbeiten >.Auf Kubernetes entwickeln >Image-Repository aus.

Standard-Image-Repository in der Ausführungskonfiguration, das mit dem Format "gcr.io/" festgelegt wird und die Optionen zur automatischen Vervollständigung basierend auf dem aktuellen Projekt und dem aktiven Cluster enthält

Weitere Informationen zur Festlegung der Einstellungen für Container-Images finden Sie im Leitfaden Einstellungen für Container-Image-Einstellungen konfigurieren.

Build-Einstellungen

Nachdem Sie das Container-Image festgelegt haben, können Sie dessen Build-Einstellungen konfigurieren. Cloud Code unterstützt die Artefakttypen Docker, Jib und Buildpacks.

Auf der Build / Deploy Tab der Ausführungskonfigurationseinstellungen (Konfigurationen bearbeiten > Auf Kubernetes entwickeln), können Sie die Build-Einstellungen für Ihr Standardprofil konfigurieren.

Build-Einstellungen auf dem Tab "Build/Deploy"

Weitere Informationen zur Angabe der Build-Einstellungen für Ihr Image finden Sie im Leitfaden zur Konfiguration von Container-Image-Builds.

Support

So senden Sie Feedback oder melden ein Problem in Ihrer IntelliJ-IDE: Tools > Cloud Code > Hilfe / Info > Feedback geben oder Problem melden, um ein Problem auf GitHub zu melden oder stellen Sie eine Frage zu Stack Overflow.

Sie können auch dem Kanal #cloud-code beitreten, der Teil der Google Cloud-Slack-Community ist.