Kubernetes-Anwendung per Remote-Entwicklung bereitstellen

Auf dieser Seite wird beschrieben, wie Sie für einen schnellen Einstieg in Cloud Code for VS Code eine Remote-Entwicklungsumgebung in Cloud Shell nutzen können.

In dieser Kurzanleitung überspringen Sie mit einem Klick das Einrichten und Klonen eines Projekts in den Arbeitsbereich für die Remote-Entwicklung. Sie erstellen einen Cluster, führen eine Kubernetes-Anwendung auf diesem Cluster aus, beheben Fehler im ausgeführten Code, sehen sich Logs aus Ihrer Live-Anwendung an und verbinden außerdem ein Terminal mit dem ausgeführten Container.

Hinweise

Führen Sie die folgenden Schritte aus, um unterstützende Ressourcen einzurichten und auf Cloud Shell zuzugreifen: die Remote-Entwicklungsumgebung in Google Cloud, die Sie in diesem Schnellstart in VS Code verwenden:

  1. Melden Sie sich bei Ihrem Google Cloud-Konto an. Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
  2. Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  3. Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.

  4. Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  5. Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.

  6. Installieren Sie Visual Studio Code auf Ihrem Computer, falls noch nicht geschehen.
  7. Installieren Sie die Visual Studio Code-Erweiterung Remote – SSH.
  8. Installieren Sie Git. Git ist zum Kopieren von Beispielen auf Ihren Computer erforderlich.
  9. Installieren Sie das Cloud Code-Plug-in, falls noch nicht geschehen.

Cloud Code starten

Wenn Sie Visual Studio Code öffnen, das mit einer Remote-Entwicklungsumgebung in Cloud Shell verbunden ist, enthält die Umgebung alle Tools, die Sie zum Entwickeln von Kubernetes-Anwendungen benötigen.

  1. Wählen Sie zum Starten der Arbeit im Remote-Entwicklungsarbeitsbereich Ihre bevorzugte Sprache für das geklonte Projekt aus und klicken Sie auf die Schaltfläche Mit Cloud Code öffnen:

    VS Code startet ein Projekt und klont es in Ihrem Arbeitsbereich für die Remote-Entwicklung.

  2. Wenn Sie die benötigten Komponenten noch nicht eingerichtet haben, werden Sie aufgefordert, sie zu installieren.

GKE-Cluster erstellen

So erstellen Sie einen GKE-Standardcluster (Google Kubernetes Engine):

  1. Klicken Sie auf Cloud Code und maximieren Sie den Abschnitt Kubernetes.

  2. Klicken Sie auf Hinzufügen Cluster zu KubeConfig hinzufügen und dann im Menü Schnellauswahl auf Google Kubernetes Engine.

  3. Wenn Sie zum Aktivieren von container.googleapis.com aufgefordert werden, wählen Sie Ja aus.

  4. Klicken Sie auf + Neuen GKE-Cluster erstellen.

  5. Wählen Sie Standard als Clustertyp aus.

  6. Klicken Sie auf Öffnen, damit Cloud Code die Google Cloud Console öffnen kann.

  7. Verwenden Sie in der Google Cloud Console das erstellte Projekt, legen Sie die Zone auf us-central1-a und den Clusternamen auf my-first-cluster fest.

  8. Klicken Sie auf Erstellen. Die Clustererstellung dauert einige Minuten.

  9. Nachdem der Cluster erstellt wurde, klicken Sie im Menü Schnellauswahl auf Aktualisieren Aktualisieren.

  10. Wenn der Name des neuen Clusters in der Liste angezeigt wird, klicken Sie auf den Clusternamen. Der neue Cluster wird der Konfiguration hinzugefügt und als aktiver Kontext konfiguriert.

Anwendung ausführen und ansehen

Jetzt können Sie die Anwendung ausführen und live ansehen. Cloud Code überwacht Ihr Dateisystem auf Änderungen, sodass Sie die Anwendung nahezu in Echtzeit bearbeiten und neu ausführen können.

So führen Sie Ihre Anwendung aus:

  1. Klicken Sie in der Cloud Code-Statusleiste auf den Namen des aktiven Projekts.

    Name des aktiven Projekts in der Statusleiste

  2. Wählen Sie im angezeigten Schnellauswahl-Menü die Option Run on Kubernetes aus.

  3. Prüfen Sie, ob Sie den aktuellen Clusterkontext verwenden oder zu einem anderen Kontext wechseln möchten.

  4. Wenn Sie dazu aufgefordert werden, wählen Sie eine Image-Registry aus, in die die Images übertragen werden sollen. Wenn Sie eine neue Image-Registry mit gcr.io/PROJECT_ID erstellen, achten Sie darauf, dass sich die Image-Registry im selben Projekt wie Ihr Cluster befindet.

    Ein Ausgabefenster wird angezeigt, in dem Sie den Fortschritt Ihrer ausgeführten Anwendung verfolgen können. Außerdem sehen Sie in der Terminalausgabe einen Livestream der Logs der ausgeführten Pods.

  5. Sobald Ihre Anwendung in Kubernetes ausgeführt wird, wird im Ausgabefenster eine IP-Adresse angezeigt. Wenn Sie diese verknüpfte IP-Adresse für den Zugriff auf Ihre Anwendung verwenden möchten, drücken Sie Ctrl/Cmd und klicken Sie auf die Adresse.

Tipps zur Fehlerbehebung

Wenn Sie einen bereits vorhandenen Cluster verwenden, gehen Sie so vor, um den Cluster als aktiv festzulegen und Clusteranmeldedaten abzurufen:

  1. Klicken Sie auf Cloud Code und maximieren Sie den Abschnitt Kubernetes.

  2. Klicken Sie mit der rechten Maustaste auf den Clusternamen und dann auf Als aktiven Cluster festlegen.

Anwendung debuggen

So beheben Sie Fehler in Ihrer Anwendung:

  1. Klicken Sie in der Cloud Code-Statusleiste auf den Namen des aktiven Projekts.

    Name des aktiven Projekts in der Statusleiste

  2. Wählen Sie im angezeigten Schnellauswahl-Menü die Option Debug on Kubernetes aus.

  3. Wenn Sie dazu aufgefordert werden, authentifizieren Sie Ihre Anmeldedaten, um eine Anwendung lokal auszuführen und Fehler zu beheben.

  4. Wenn Sie dazu aufgefordert werden, bestätigen Sie, ob Sie den aktuellen Clusterkontext verwenden oder zu einem bevorzugten Kontext wechseln möchten.

    Cloud Code verwendet die cloudcode.kubernetes-Konfigurationen in Ihrer .vscode/launch.json-Datei, um Ihre Anwendung auszuführen und eine Debugger-Sitzung hinzuzufügen.

    Cloud Code erstellt Ihre Container, verschiebt sie in die Registry, wendet Kubernetes-Konfigurationen auf den Cluster an und gibt die IP-Adresse zurück, mit der Sie Inhalte in Ihrer Live-Anwendung suchen können.

  5. Vor dem Anhängen der Debugger-Sitzung werden Sie aufgefordert, das Verzeichnis im Remote-Container zu bestätigen oder einzugeben, in dem sich das Programm befindet, für das das Debugging durchgeführt werden soll (oder drücken Sie die ESC-Taste, um das Debuggen des Containers zu überspringen).

  6. Um zu Zeile 9 einen Haltepunkt hinzuzufügen, öffnen Sie src/app.js und klicken Sie dann auf den Rand des Editors.

    Rot ausgefüllte Kreise kennzeichnen aktive Haltepunkte, während graue leere Kreise deaktivierte Haltepunkte angeben. Für eine genauere Steuerung der Haltepunkte können Sie den Abschnitt "Breakpoints" in der Fehlerbehebungsansicht von VS Code verwenden.

    Abschnitt "Breakpoints" im linken Bereich der Fehlerbehebungsansicht, über die Haltepunkte hinzugefügt, entfernt und deaktiviert werden können

    Wenn Sie eine neue Anfrage an Ihre Anwendung senden, wird der Debugger am ersten aktiven Haltepunkt angehalten.

    Beachten Sie im folgenden Beispiel im Abschnitt Variablen unter Lokal, dass res._contentLength; für Hello, world! den Wert 13 hat.

    Eine Anwendung, die am Haltepunkt angehalten wurde und deren Variablen und Aufrufstapel mit Werten im entsprechenden Bereich gefüllt wurden

  7. Bearbeiten Sie den String, der inline Nr. 8 an Hello, goodbye! gesendet wird, und starten Sie dann die Aktion Debug on Kubernetes neu.

    Beachten Sie den aktualisierten Wert von res._contentLength, nachdem die Anwendung neu erstellt und neu bereitgestellt wurde.

    Anwendung an Haltepunkt angehalten mit aktualisierten Werten

Nachdem die Debugging-Sitzung gestartet wurde, wird im Bereich Development Sessions die strukturierte Logging-Ansicht angezeigt. Wenn eine Aufgabe beginnt, wird sie mit einem sich drehenden Halbkreis progress_activity angezeigt.

Wenn eine Aufgabe erfolgreich ist, wird neben dem Schritt ein Häkchen check_circle angezeigt.

Wenn Sie Details zu einem Schritt aufrufen möchten, klicken Sie im Bereich Entwicklungssitzung auf den entsprechenden Schritt. Im Ausgabebereich wird der Schritt in der Logging-Ausgabe angezeigt.

Öffnen Sie ein Terminal in Ihrem Container.

So öffnen Sie ein Terminal in Ihrem Container:

  1. Klicken Sie auf Cloud Code und maximieren Sie den Abschnitt Kubernetes.

  2. Maximieren Sie die folgenden Abschnitte:

    • Bereich Ihres bevorzugten Clusters
    • Der Abschnitt Namespaces und dann der Abschnitt Ihres bevorzugten Namespace
    • Der Abschnitt Pods und dann der Abschnitt Ihres bevorzugten Pods
    • Der Abschnitt Container

      Cloud Code-Pods

  3. Klicken Sie mit der rechten Maustaste auf den Container, in dem Sie ein Terminal öffnen möchten, und klicken Sie dann auf Terminal abrufen.

    Dadurch wird ein Terminal gestartet. Sie haben jetzt Zugriff auf eine Shell im ausgeführten Container.

Bereinigen

Nachdem Sie die Anwendung beendet haben, werden alle während der Ausführung bereitgestellten Kubernetes-Ressourcen automatisch gelöscht.

Damit Ihrem Konto keine Gebühren für andere in dieser Kurzanleitung verwendete Ressourcen in Rechnung gestellt werden, müssen Sie das Projekt löschen bzw. den von Ihnen erstellten Cluster löschen, wenn Sie das Projekt wiederverwenden möchten.

So löschen Sie den Cluster:

  1. Klicken Sie auf Cloud Code und maximieren Sie dann den Kubernetes-Explorer.
  2. Bewegen Sie den Mauszeiger auf den Clusternamen und klicken Sie auf open_in_new In der Google Cloud Console öffnen.
  3. Klicken Sie auf Löschen und dann noch einmal auf Löschen.

So löschen Sie Ihr Projekt und die zugehörigen Ressourcen, einschließlich der Cluster:

  1. Wechseln Sie in der Google Cloud Console zur Seite Ressourcen verwalten.

    Zur Seite „Ressourcen verwalten“

  2. Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie dann auf Löschen.
  3. Geben Sie im Dialogfeld die Projekt-ID ein und klicken Sie auf Shut down (Beenden), um das Projekt zu löschen.

Nächste Schritte