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 ein oder mehrere Kubernetes-Manifeste haben. Wenn Cloud Code beliebige Kubernetes-Manifeste im Projekt erkennt, versucht Cloud Code, das Bootstrapping durchzuführen.

Wenn Cloud Code eine vorhandene Skaffold-Konfiguration nicht erkennt, werden Sie aufgefordert, diese einzurichten.

Vorbereitung

Ihr Projekt muss die folgenden Voraussetzungen erfüllen, um zur Erstellung einer skafwrap.yaml-Datei und zur Ausführung aller erforderlichen Konfigurationen aufgefordert zu werden:

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

  • (Option 2) Ihr Projekt kann mit Buildpacks erstellt werden und über Kubernetes-Ressourcen verfügen.

Skaffold-Konfiguration einrichten

Wenn die Voraussetzungen erfüllt sind, werden Sie von Cloud Code aufgefordert, eine skafwrap.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-Konfigurationserstellung nicht möglich ist, weil mehrere Images oder Builder erkannt wurden, wird in Cloud Code ein Dialogfeld angezeigt, in dem Sie aufgefordert werden, Zuordnungen zwischen den erkannten Images und Buildern bereitzustellen.

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

    Alternativ können Sie eine Skaffold-Konfiguration einrichten. Rufen Sie dazu Werkzeuge >.Cloud Code >.Kubernetes und wählen SieKubernetes-Unterstützung hinzufügen aus.

    Mit dieser Option werden die Kubernetes-Ressourcen Ihres Projekts analysiert und eine Datei skafleaf.yaml (sofern noch nicht vorhanden) sowie die erforderlichen Ausführungskonfigurationen generiert. Die beiden generierten Ausführungskonfigurationen umfassen eine Ausführung Ihres Projekts in Kubernetes und eine weitere für die Entwicklung in einem Kubernetes-Cluster.

  2. Nachdem die Unterstützung hinzugefügt wurde, können Sie mit Ihrem Projekt auf 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 manuell eine Datei skafwrap.yaml mit Livevorlagen:

  1. Erstellen Sie im Stammverzeichnis Ihres Projekts eine neue Datei mit dem Namen skafleaf.yaml (Rechtsklick > Neu > Datei).

  2. Wenn Sie den Cursor in der neuen Datei sehen, drücken Sie Ctrl+Space, um die Vorschläge für Livevorlagen aufzurufen, und wählen Sie dann die gewünschte Skaffold-Vorlage aus.

    Skaffold-YAML-Vorlage verwenden

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

  4. Nachdem Cloud Code ermittelt hat, dass die Datei skafwrap.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 Cloud Code Skaffold-Konfigurationen

  • 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 Bereitstellungsabschnitt bleibt wie im obigen Beispiel erhalten):

    build:
    artifacts:
    - image: image_name
      jib: {}
    
  • Wenn Sie Build-, Test- und Bereitstellungskonfigurationen für verschiedene Kontexte definieren möchten, können Sie unterschiedliche Profile verwenden. Hier sehen Sie 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: {}
    
  • Informationen zum Bereitstellen Ihres Projekts mit Helm finden Sie 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. Sobald Sie Ihr bevorzugtes Repository eingerichtet haben (Google Container Registry, DockerHub, privates Repository, usw.), bearbeiten Sie das Führen Sie Konfigurationen aus und geben Sie sie in den Konfigurationseinstellungen für die Ausführung als Standard-Image-Repository an. Bei Google Container Registry-Images ist das Feld mit einer automatischen Vervollständigung ausgestattet, damit Sie Ihr Container Registry-Repository schneller finden können.

Diese können in der oberen Taskleiste im Dialogfeld "Run/Debug configurations" hier aufgerufen werden: Edit Configurations... > Develop on Kubernetes > Where are the container images stored?.

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.

Im Tab "Build/Deploy" Ihrer Ausführungskonfigurationseinstellungen (Edit Configurations... > Develop on Kubernetes oder Run on Kubernetes), können Sie die Buildeinstellungen 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

Wenn Sie Feedback geben oder ein Problem in Ihrer IntelliJ-IDE melden möchten, gehen Sie zuWerkzeuge >.Cloud Code >.Hilfe / Info >.Feedback geben oder ein Problem melden um ein Problem zu meldenLogo: GitHub oder eine Frage zumStack Overflow aus.

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