Kubernetes-Anwendung mit Cloud Code for IntelliJ bereitstellen

Hier erfahren Sie, wie Sie mit Cloud Code for IntelliJ Ihre erste Kubernetes-Anwendung bereitstellen.

In dieser Kurzanleitung richten Sie eine neue Kubernetes-Anwendung mit einer Startvorlage „Hello World“ ein, führen Ihre Anwendung in einem Cluster aus, konfigurieren das kontinuierliche Neuerstellen für die iterative Entwicklung Ihrer Anwendung, beheben Fehler im ausgeführten Code und sehen sich Streaminglogs aus Ihrer Live-Anwendung an.

Wir empfehlen zwar, Google Cloud für diese Anleitung zu verwenden, Sie können aber stattdessen Cloud Code mit einem lokalen Cluster verwenden, indem Sie Tools wie Minikube und Docker Desktop verwenden. Funktionen wie die Erstellung von Live-GKE-Cluster und die integrierte Continuous Delivery lassen sich jedoch am besten mit einemGoogle Cloud -Projekt nutzen.

Hinweise

Unabhängig davon, ob Sie einen lokalen oder einen in der Cloud gehosteten Cluster verwenden, müssen Sie die folgenden Schritte ausführen, um diesen Schnellstart abzuschließen:

  1. Installieren Sie Git. Git ist zum Kopieren von Codebeispielen auf Ihren Computer erforderlich.
  2. Installieren Sie Docker. Docker ist erforderlich, um den Beispielcode zu erstellen. Prüfen Sie, ob Ihr lokales Nutzerkonto Container erstellen kann.
  3. Installieren Sie das Cloud Code-Plug-in, falls noch nicht geschehen.

So führen Sie diese Kurzanleitung mit Google Cloudaus:

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Wenn Sie für diese Anleitung ein vorhandenes Projekt verwenden, prüfen Sie, ob Sie die erforderlichen Berechtigungen haben. Wenn Sie ein neues Projekt erstellt haben, haben Sie bereits die erforderlichen Berechtigungen.

  4. Verify that billing is enabled for your Google Cloud project.

  5. Enable the Google Kubernetes Engine API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  6. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  7. Wenn Sie für diese Anleitung ein vorhandenes Projekt verwenden, prüfen Sie, ob Sie die erforderlichen Berechtigungen haben. Wenn Sie ein neues Projekt erstellt haben, haben Sie bereits die erforderlichen Berechtigungen.

  8. Verify that billing is enabled for your Google Cloud project.

  9. Enable the Google Kubernetes Engine API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  10. Erforderliche Rollen

    Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Kubernetes Engine-Administrator (roles/container.admin) für Ihr Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Ausführen dieses Schnellstarts mit Google Cloudbenötigen. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

    Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.

Anwendung erstellen

Cloud Code enthält eine Reihe von Codebeispiel-Vorlagen, die Ihnen den Einstieg erleichtern. So erstellen Sie eine neue Anwendung mit einem vorhandenen Beispiel:

  1. Öffnen Sie in Ihrer IDE Datei > Neues Projekt und wählen Sie Cloud Code: Kubernetes aus.

  2. Wählen Sie aus der Liste der Startanwendungen eine Hello World-Vorlage aus.Liste der verfügbaren Vorlagen: "Hello World"- und Gästebuchanwendungen in Python, Go, Node.js und Java

  3. Wählen Sie einen Namen für Ihr Projekt aus.

    Nachdem Sie auf Fertigstellen geklickt haben, klont Cloud Code die ausgewählte Vorlage und öffnet das neu erstellte Projekt.

    Bei Java-Vorlagen werden Sie aufgefordert, erforderliche Maven-Projekte zu importieren, um Ihre pom.xml-Datei zu synchronisieren. Klicken Sie auf Als Maven-Projekt hinzufügen und dann auf Änderungen importieren.

Cluster auswählen

Für die Entwicklung Ihrer Anwendung benötigen Sie einen verknüpften Kubernetes-Cluster, der entweder lokal mit minikube oder mit einer Cloud Platform wie einem Google Kubernetes Engine-Cluster gehostet wird.

Lokaler Cluster

Wenn Sie noch keinen Cluster für diese Kurzanleitung haben, können Sie Ihre Anwendung mit einem von Cloud Code verwalteten lokalen minikube-Cluster ausführen. Cloud Code startet einen minikube-Cluster, um Ihre Anwendung auszuführen, und beendet den Cluster, wenn das Deployment beendet wird. Wenn bereits ein minikube-Cluster ausgeführt wird, verwendet Cloud Code den vorhandenen minikube-Cluster wieder für die Bereitstellung.

Sie können diesen von Cloud Code verwalteten Minikube-Cluster im nächsten Schritt, Anwendung entwickeln, verwenden, indem Sie ihn als Deployment-Einstellung festlegen.

Cloud Platform-basierter Cluster

Wenn Sie bereits über einen Cluster verfügen, der für die Arbeit mit Kubernetes-Tools wie kubectl konfiguriert ist und den Sie für diesen Schnellstart verwenden können, erfolgt die Bereitstellung von Cloud Code auf diesem Cluster automatisch. Sie können nun mit der Entwicklung Ihrer Anwendung fortfahren, wobei Sie bestätigen können, dass Ihr bevorzugter Cluster als aktueller Kontext eingestellt ist.

Andernfalls können Sie eine Anwendung mithilfe Ihrer Cloud Platform-spezifischen Anleitung erstellen. Für GKE folgen Sie der Anleitung Cluster erstellen.

Anwendung entwickeln

So starten Sie die Entwicklung Ihrer Anwendung in Kubernetes:

  1. Achten Sie darauf, dass Sie für Develop on Kubernetes definiert haben, wo Ihre Container-Images gespeichert werden.

    Wenn Sie in Ihrer IDE in Google Cloud angemeldet sind und ein Standardprojekt definiert haben, verwendet Cloud Code automatisch Ihr Standard-Container-Image-Repository (gcr.io/{project_id}, wobei {project_id} auf Ihr Standardprojekt verweist).

  2. Achten Sie darauf, dass der bevorzugte Kubernetes-Kontext festgelegt ist. Sie können dies in Ihrer Konfiguration von Develop on Kubernetes“ angeben, die über Run > Edit Configurations > Develop on Kubernetes auf dem Tab "Run" und im Abschnitt "Deployment settings" zugänglich ist.

    Sie können eine Bereitstellung in einem aktuellen Kontext (Standardeinstellung), in einem minikube-Cluster oder in einem anderen verfügbaren Kontext vornehmen.

    Ihre Kubernetes-Anwendung wird standardmäßig im On-Demand-Modus ausgeführt, wobei On-Demand ausgewählt ist. Sie können stattdessen auch die Option Bei Dateispeicherung auswählen.

  3. Wählen Sie das Ausführungsziel Develop on Kubernetes in der Auswahl „Konfiguration ausführen/debuggen“ in der Navigationsleiste aus.

    Kubernetes-Deployment-Ausführungskonfigurationen

    Dadurch wird sichergestellt, dass Codeänderungen automatisch erstellt, per Push übertragen und in einer neuen Version Ihrer Anwendung bereitgestellt werden.

  4. Klicken Sie auf die Ausführungsaktion für Develop on Kubernetes, um den Entwicklungszyklus auf Ihrem Kubernetes-Cluster zu starten.

  5. Sehen Sie sich im Ausgabefenster auf dem Tab Logs die eingehenden Anwendungslogs an.

    Nach dem Start des Deployments wird die Liste der weitergeleiteten Ports für die bereitgestellte Anwendung angezeigt.

  6. Wenn die Bereitstellung erfolgreich ist, werden Sie darüber informiert, dass neue Dienst-URLs verfügbar sind. Klicken Sie auf den Tab Dienst-URLs, um die URLs anzuzeigen, und dann auf den URL-Link, um den Browser mit Ihrer ausgeführten Anwendung zu öffnen.

    Portweiterleitungsdienste auf dem Tab „Dienst-URLs“ aufrufen

    Alternativ können Sie das Ereignisprotokoll öffnen und dann auf den Link klicken, um den Browser mit Ihrer ausgeführten Anwendung zu öffnen.

    Im Bereich Bereitgestellte Ressourcen sehen Sie, was Sie während der Entwicklungssitzung bereitgestellt haben.

Anwendung debuggen

Cloud Code unterstützt das Anwenden von Änderungen während der Fehlerbehebung.

So beheben Sie Fehler in der Anwendung:

  1. Klicken Sie auf die Debug-Aktion Symbol für die Aktion „Fehlerbehebung“ für Develop on Kubernetes, um den Entwicklungszyklus im Debug-Modus auf Ihrem Kubernetes-Cluster zu starten.

    Kubernetes-Cluster-Entwicklungszyklus im Debug-Modus starten

  2. Cloud Code hängt dann eine Debug-Sitzung an. Bei Erfolg wird das Fenster mit dem Debugging-Tool geöffnet und die Verbindung bestätigt (auf dem Tab „Console“).

    Sie können jetzt Fehler in Ihrem Live-Kubernetes-Cluster beheben.

  3. Klicken Sie auf den Bundsteg bei der ausführbaren Zeile des Codes, bei der Sie einen Haltepunkt hinzufügen möchten.

    Rot ausgefüllte Kreise kennzeichnen aktive Haltepunkte, während rot umrandete Kreise deaktivierte Haltepunkte angeben.

  4. Wenn Sie eine neue Anfrage an Ihre Anwendung senden, wird sie in der gewünschten Zeile pausiert.

    Kubernetes Debugger-Sitzung

  5. Klicken Sie zum Beenden der Debugging-Sitzung auf das Stopp-Symbol in der Ausführungskonfiguration für Develop on Kubernetes.

Logs ansehen

Sie können während der Entwicklung und Ausführung Ihrer Anwendung nicht nur einen Livestream der Logs von laufenden Pods in der Terminalausgabe sehen, sondern auch die Logs eines bestimmten Pods anzeigen, indem Sie zum Kubernetes Explorer gehen.

So rufen Sie Logs eines bestimmten Pods auf:

  1. Rufen Sie den Kubernetes Explorer auf. Sie können entweder über die rechte Seitenleiste oder über Tools > Cloud Code > Kubernetes > View Cluster Explorer darauf zugreifen.

    Das Kubernetes Explorer-Steuerfeld wird über den Tab in der rechten Taskleiste geöffnet.

  2. Wählen Sie den Pod aus, für den Sie Logs aufrufen möchten.

  3. Klicken Sie mit der rechten Maustaste auf den Pod und wählen Sie Logs streamen aus. Alternativ können Sie Logs für einzelne Container streamen, die in Pods ausgeführt werden.

    Dadurch werden Logs in der Kubernetes Explorer Console ausgegeben.

    Bild: Streamen von Logs eines Pods über das Kontextmenü, um die Logs in der Kubernetes Explorer-Konsole auszugeben

Bereinigen

Mit den folgenden Schritten vermeiden Sie, dass Ihrem Google Cloud -Konto die auf dieser Seite verwendeten Ressourcen in Rechnung gestellt werden:

  1. Rufen Sie in der Google Cloud Console die Seite „Projekte“ auf:

    Zur Seite "Projekte"

  2. Wählen Sie das Projekt aus, das Sie für diesen Schnellstart erstellt haben, und klicken Sie auf das Papierkorbsymbol, um es zu löschen.

    Das Projekt wird beendet und der Löschvorgang geplant.

Nächste Schritte