Erste Schritte mit Cloud Code for VS Code for Kubernetes

Mit Cloud Code können Sie eine Kubernetes-Anwendung auf der Grundlage eines Beispiels oder eines vorhandenen Projekts erstellen.

Anwendung aus einer Vorlage erstellen

Cloud Code bietet eine Reihe von Codebeispiel Vorlagen für einen schnellen Einstieg. Um eine Kubernetes-Anwendung mit ein vorhandenes Muster erstellt wird, gehen Sie folgendermaßen vor:

  1. Öffnen Sie die Befehlspalette (drücken Sie Ctrl/Cmd+Shift+P oder klicken Sie Ansehen > Befehlspalette) und führen Sie dann Cloud Code: Neue Anwendung aus.
  2. Wählen Sie als Beispieltyp Kubernetes-Anwendung aus.
  3. Wählen Sie aus den verfügbaren Sprachen ein Beispiel für die Sprache aus, die Sie verwenden möchten. Optionen: NodeJS, Go, Python, Java.
  4. Wählen Sie einen bevorzugten Speicherort für die Anwendung auf Ihrem lokalen Computer aus und klicken Sie dann auf Erstelle zum Speichern eine neue App.

    Cloud Code klont das ausgewählte Beispiel und öffnet das neue Projekt zur Verwendung.

Beispielstruktur der Anwendung

Alle Sprachbeispielanwendungen haben nahezu dieselbe Struktur. Es gibt zwar weitere unterstützte Strukturen, aber diese Struktur wird für den Anfang empfohlen.

Die Struktur der Node.js-Gästebuchanwendung sieht beispielsweise so aus:

.
|---- .vscode
|      └---- launch.json
|---- kubernetes-manifests
|     |---- guestbook-backend.deployment.yaml
|     |---- guestbook-backend.service.yaml
|     |---- guestbook-frontend.deployment.yaml
|     |---- guestbook-frontend.service.yaml
|     |---- mongo.deployment.yaml
|     └---- mongo.service.yaml
|---- src
|     |---- backend
|     |     |---- Dockerfile
|     |     |---- index.js
|     |     |---- app.js
|     |     └---- package.json
|     |---- frontend
|           |---- Dockerfile
|           |---- index.js
|     |     |---- app.js
|           └---- package.json
└---- skaffold.yaml

Wenn Sie sich diese Node.js-Beispielanwendung für das Kubernetes-Gästebuch genauer ansehen, finden Sie hier einige Schlüsseldateien und ihre Verwendung:

  • .vscode
    • extensions.json: Aufforderung zum Herunterladen weiterer Erweiterungen beim Öffnen dieses Projekts
    • launch.json: Konfiguration (vom Typ cloudcode.kubernetes) starten, um die Kubernetes-Anwendung auszuführen oder Fehler zu beheben
    • tasks.json: Konfigurationsinformationen für Visual Studio Code-Aufgaben
  • kubernetes-manifests
    • guestbook-backend.deployment.yaml: Pod-Spezifikation für die Backend-Knoten
    • guestbook-frontend.deployment.yaml: Pod-Spezifikation für die Frontend-Knoten
    • mongo.deployment.yaml: Pod-Spezifikation für die Datenbank
  • src
    • (backend|frontend)/app.js: Node.js-Code mit der Webserverlogik
    • (backend|frontend)/Dockerfile: wird verwendet, um das Container-Image für unser Programm zu erstellen
  • skaffold.yaml: Konfigurationsdatei für Skaffold, die Cloud Code zum Erstellen, Bereitstellen und Debuggen von Kubernetes Anwendungen

Eigene Anwendung verwenden

Eine Anleitung zur Verwendung eines vorhandenen Projekts finden Sie unter Cloud Code mit einer vorhandenen Kubernetes-Anwendung verwenden

Kubernetes-Kontext festlegen

Bevor Sie Ihre Anwendung ausführen, müssen Sie sie einrichten, um sie in Ihrem bevorzugten Kubernetes-Kontext bereitzustellen. Sie können dies in Ihrem Konfiguration.

Konfiguration

Wenn Sie die Ausführungskonfiguration Cloud Code: Develop on Kubernetes verwenden, können Sie Passen Sie Ihre Bereitstellung an, indem Sie die verfügbaren Einstellungen konfigurieren.

Wenn Sie Konfigurationen hinzufügen oder bearbeiten möchten, klicken Sie auf Ausführen > Öffnen Sie „Konfigurationen“ und dann Konfigurationen bearbeiten oder hinzufügen.

Build-Einstellungen

Cloud Code unterstützt die Artefakttypen Docker, Jib und Buildpacks. Informationen zum Festlegen Ihres bevorzugten Builders und der relevanten Einstellungen finden Sie im Leitfaden „Build-Einstellungen für Container-Images konfigurieren“.

Startkonfiguration anpassen

Um die Ausführung Ihrer Anwendung zu konfigurieren, können Sie skaffold.yaml-Datei.

Sie können den Start auch konfigurieren, indem Sie die cloudcode.kubernetes bearbeiten. Konfiguration in der Datei .vscode/launch.json.

Weitere Informationen zum Anpassen der Startkonfiguration finden Sie in der Kubernetes in Cloud Code

Führen Sie Ihre Anwendung aus

Sobald Sie eine Anwendung eingerichtet haben, können Sie sie in einem Kubernetes-Cluster ausführen. Live-Version ansehen, indem Sie skaffold dev. Sie können Ihre Anwendung auf einem lokalen Cluster wie Minikube oder Docker Desktop, in Google Kubernetes Engine oder in jedem anderen Cloud-Anbieter ausführen.

  1. Öffnen Sie die Befehlspalette (drücken Sie Ctrl/Cmd+Shift + P) und führen Sie dann den Befehl Cloud Code: Auf Kubernetes ausführen aus.
  2. Geben Sie an, ob Sie den aktuellen Kubernetes-Kontext zum Ausführen der Anwendung verwenden oder ob Sie zu einem bevorzugten Kontext wechseln möchten. Weitere Informationen zum Einrichten eines Kubernetes-Kontexts finden Sie unter Konfiguration einrichten.
  3. Wenn Sie einen Remote-Cluster als Kontext ausgewählt haben, wählen Sie bei entsprechender Aufforderung ein Image aus Registry, in die die Images übertragen werden sollen. Wenn Sie Container Registry verwenden, Rufen Sie eine vorhandene Registry auf oder geben Sie den Namen der zu erstellenden Registry an. Wenn Ihr Projekt Artifact Registry API aktiviert und mindestens ein Artifact Registry-Repository kann ein vorhandenes Artifact Registry-Repository suchen und auswählen.

    In den folgenden Beispielen wird gezeigt, wie Sie für einige gängige Registries angeben, wo Container-Images gespeichert werden:

    Artifact Registry {region}-docker.pkg.dev/{project_id}/{repo-name}
    Container Registry gcr.io/{project_id}
    Docker Hub docker.io/{account}
    Stellen Sie sicher, dass Sie ordnungsgemäß authentifiziert wenn Sie ein privates Docker Hub-Repository verwenden.
    AWS-Container-Repository (ECR): {aws_account_id}.dkr.ecr.{region}.amazonaws.com/{my-app}
    Azure Container Registry (ACR) {my_acr_name}.azurecr.io/{my-app}

    Cloud Code verkettet diese Image-Registry mit dem Image-Namen, der in den Kubernetes-Manifesten angegeben ist, um den Namen des endgültigen Image-Repositorys zu generieren.

    Weitere Informationen finden Sie im Leitfaden zur Image-Registry.

    Diese Auswahl wird in Ihrer Startkonfiguration cloudcode.kubernetes gespeichert (in .vscode/launch.json).

    Anschließend erstellt Cloud Code Ihre Container, überträgt sie in die Registry, wendet Kubernetes-Konfigurationen auf den Cluster an und wartet auf den Rollout.

Logs ansehen

Logs von ausgeführten Pods können nicht nur als Livestream im Terminal angezeigt werden. Ausgabe während der Entwicklung und Ausführung Ihrer Anwendung erhalten Sie Logs von einem bestimmten Pod, indem Sie zum Bereich „Kubernetes“ gehen.

So rufen Sie Logs eines bestimmten Pods auf:

  1. Maximieren Sie im Bereich „Kubernetes“ die Option Deployments.
  2. Klicken Sie mit der rechten Maustaste auf den Pod, für den Sie Logs aufrufen möchten, und klicken Sie dann auf Logs ansehen

    Die Loganzeige wird geöffnet.

Änderungen vornehmen, neu erstellen und bereinigen

Wenn du in der Startkonfiguration den Uhrmodus auf false festgelegt hast und Nehmen Sie Änderungen an Ihrer Anwendung vor und erstellen Sie sie dann neu und stellen Sie sie noch einmal bereit:

  1. Nehmen Sie die gewünschten Änderungen vor und speichern Sie sie.

  2. Klicken Sie in der Symbolleiste zur Fehlerbehebung auf Pause (F6) und dann auf Neu starten (Ctrl/Cmd + Shift + F5), um den .

  3. Klicken Sie in der Symbolleiste zur Fehlerbehebung auf Beenden, um die Ausführung der Anwendung zu beenden.

Nachdem Sie die Anwendung beendet haben, werden alle bereitgestellten Kubernetes-Ressourcen aus dem Cluster gelöscht. Sie können dieses Verhalten mithilfe der cleanUp ändern. .

Store-Secrets

Wenn Ihr Code potenziell sensible Daten wie API-Schlüssel, Passwörter und Zertifikate enthält, sollten Sie diese als Secrets speichern. Mit Cloud Code können Sie diese Secrets sicher in Secret Manager speichern und sie bei Bedarf programmatisch abrufen.

Eine detaillierte Beschreibung dazu, wie Sie Secrets mit Cloud Code erstellen und verwalten können, finden Sie in der Anleitung zu Secret Manager.

Ressourcendetails aufrufen

Im Abschnitt „Kubernetes“ werden Cluster, Namespaces, Knoten und Arbeitslasten angezeigt. (z. B. Bereitstellungen, Replikatsets, Pods und Container), Dienste und Ingress-Ressourcen, Konfigurationen (z. B. Secrets und Konfigurationspläne) und Speicher (z. B. Volumes) Im Bereich „Kubernetes“ können Sie für einige dieser Ressourcen.

Weitere Informationen finden Sie in der Übersicht zu Kubernetes. zur Anzeige von Ressourcendetails.

Nächste Schritte

Support erhalten

Wenn Sie uns Feedback geben möchten, können Sie Probleme auf GitHub melden oder eine Frage in Stack Overflow stellen.