Kubernetes-Anwendung mit Cloud Code für VS Code bereitstellen

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

Sie richten eine neue Kubernetes-Anwendung mit einer „Hello World“-Beispielanwendung ein, erstellen einen Cluster, führen Ihre App in diesem Cluster aus, führen ein Debugging des ausgeführten Codes durch, rufen Logs Ihrer Live-Anwendung auf und verbinden ein Terminal mit dem ausgeführten Container.

Hinweis

  1. Melden Sie sich in Ihrem Google Cloud -Konto an. Wenn Sie mit Google Cloudnoch nicht vertraut sind, erstellen Sie einfach 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. 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. If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.

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

  5. Enable the Google Kubernetes Engine API, if it is not already enabled.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). 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. If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.

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

  9. Enable the Google Kubernetes Engine API, if it is not already enabled.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

  10. Installieren Sie Git. Git ist erforderlich, um Beispiele auf Ihren Computer zu kopieren.
  11. Installieren Sie Docker. Für das Erstellen des Beispielcodes ist Docker erforderlich. Ihr lokales Nutzerkonto muss Container erstellen können.
  12. Installieren Sie das Cloud Code-Plug-in, falls noch nicht geschehen.

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 dieser Kurzanleitung benö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

  1. Öffnen Sie die Befehlspalette (über Ctrl/Cmd + Shift + P oder Ansicht > Befehlspalette) und führen Sie dann Cloud Code: Neue Anwendung aus.

  2. Wählen Sie Kubernetes-Anwendung aus.

  3. Wählen Sie eine Hello World-Anwendung in der gewünschten Sprache aus.

    Wenn Sie beispielsweise Node.js: Hello World auswählen, wird eine Hello World-Startanwendung in Node.js erstellt.

  4. Speichern Sie die neue Anwendung.

    In einer Benachrichtigung wird bestätigt, dass die Anwendung erstellt wurde, und die Anwendung wird in einem neuen Fenster geöffnet.

GKE-Cluster erstellen

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

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

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

  3. Wenn Sie aufgefordert werden, die Container API zu aktivieren, 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 Konsole öffnen kann.

  7. Achten Sie in der Google Cloud Console darauf, dass das ausgewählte Projekt das ist, das Sie zuvor erstellt oder ausgewählt haben.

  8. Legen Sie den Clusternamen auf my-first-cluster fest.

  9. Wählen Sie Zonal als Standorttyp aus und legen Sie die Zone auf us-central1-a fest.

  10. Klicken Sie auf Erstellen. Die Erstellung eines Clusters dauert einige Minuten.

  11. Klicken Sie nach der Clustererstellung noch einmal auf Cluster zur KubeConfig hinzufügen und wählen Sie den gerade erstellten Cluster aus der Liste aus.

  12. Der neue Cluster wird der Konfiguration hinzugefügt und als aktiver Kontext konfiguriert.

App ausführen und ansehen

Jetzt können Sie die Anwendung ausführen und live ansehen. Cloud Code überwacht Ihr Dateisystem auf Änderungen, sodass Sie Ihre App 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.

    Aktiver Projektname in der Statusleiste

  2. Wählen Sie im angezeigten Menü „Schnellauswahl“ die Option Auf Kubernetes ausführen aus. Wenn Sie noch einmal dazu aufgefordert werden, wählen Sie Auf Kubernetes ausführen 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 Bildregistrierung mit gcr.io/PROJECT_ID erstellen, muss sich die Bildregistrierung im selben Projekt wie Ihr Cluster befinden.

  5. Nachdem Ihre Anwendung in Kubernetes ausgeführt wird, klicken Sie im Abschnitt Entwicklungssitzungen bei der Aufgabe In Kubernetes ausführen auf den Eintrag Status. Ein Fenster mit dem Tab Output (Ausgabe) wird geöffnet. Dieser enthält die URL Ihrer Anwendung. Drücken Sie zum Öffnen dieser URL die Strg-Taste (oder die Befehlstaste unter macOS) und klicken Sie auf die Adresse.

    Sie können Ihre Anwendung auch in der Arbeitslastenübersicht in der Google Cloud -Konsole aufrufen. Wenn Sie weitere Informationen zu Ihrer laufenden Anwendung aufrufen möchten, z. B. die externe IP-Adresse und die Portnummer, klicken Sie in der Liste auf den Namen der Anwendung.

Tipps zur Fehlerbehebung

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

  1. Klicken Sie in VS Code auf  Cloud Code und maximieren Sie den Bereich Kubernetes.

  2. Klicken Sie mit der rechten Maustaste auf den Namen des Clusters 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.

    Aktiver Projektname in der Statusleiste

  2. Wählen Sie im angezeigten Menü „Schnellauswahl“ die Option Debuggen in Kubernetes aus.

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

  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.

    Im folgenden Beispiel sehen Sie im Bereich Variablen unter Lokal, dass der Wert von res._contentLength; für Hello, world! 13 ist.

    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 in Zeile 8 gesendet wird, in Hello, goodbye! 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 Ihre Debugging-Sitzung gestartet wurde, wird im Bereich Entwicklungssitzungen die strukturierte Protokollansicht angezeigt. Wenn eine Aufgabe beginnt, wird sie mit einem sich drehenden Halbkreis progress_activity angezeigt.

Wenn eine Aufgabe erfolgreich ausgeführt wird, 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 Schritt. Im Bereich „Ausgabe“ wird der Schritt in der Protokollausgabe angezeigt.

Terminal in Ihrem Container öffnen

So öffnen Sie ein Terminal in Ihrem Container:

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

  2. Maximieren Sie die folgenden Abschnitte:

    • Abschnitt für Ihren bevorzugten Cluster
    • Der Bereich Namespaces und dann der Bereich des gewünschten Namespace
    • Der Bereich Pods und dann der Bereich des gewünschten Pods
    • Abschnitt Container

      Cloud Code-Pods

  3. Rechtsklicken Sie 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 laufenden Container.

Bereinigen

Nachdem Sie die Anwendung beendet haben, werden alle Kubernetes-Ressourcen, die während des Laufs bereitgestellt wurden, automatisch gelöscht.

Damit Ihrem Konto keine Gebühren für andere in dieser Kurzanleitung verwendete Ressourcen in Rechnung gestellt werden, sollten Sie das Projekt oder den 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 Namen des Clusters und klicken Sie dann auf open_in_new In Google Cloud Konsole ö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