Kubernetes-Anwendung mit Cloud Code for IntelliJ bereitstellen

Auf dieser Seite werden die ersten Schritte mit Cloud Code beschrieben.

In dieser Kurzanleitung richten Sie eine neue Kubernetes-Anwendung mit einer Hello-World-Startvorlage ein, führen Ihre Anwendung in einem Cluster Ihrer Wahl aus, starten die kontinuierliche Neuerstellung zur iterativen Entwicklung der Anwendung, debuggen Ihren laufenden Code und sehen sich Logs an, die von Ihrer Live-Anwendung gestreamt werden.

Hinweise

  1. Wenn Sie Google Cloud verwenden möchten, müssen Sie ein Google Cloud-Projekt erstellen oder auswählen und die Abrechnung für Ihr Projekt aktivieren.

    Alternativ können Sie einen auf einer anderen Cloud-Plattform gehosteten Cluster oder einen lokalen Kubernetes-Cluster mit Tools wie Minikube oder Docker Desktop verwenden.

  2. Installieren Sie Git, damit Cloud Code Git-Vorgänge wie das Klonen eines Beispiels ausführen kann.

  3. Installieren Sie das Cloud Code-Plug-in, falls noch nicht geschehen.

Anwendung erstellen

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 wird angezeigt, 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 Debug-Aktion 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 die Seite „Projekte“ in der Google Cloud Console 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