Erste Schritte mit Cloud Code für VS Code für Kubernetes

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

Anwendung über eine Vorlage erstellen

Cloud Code enthält eine Reihe von Codebeispiel vorlagen, die Ihnen den Einstieg erleichtern. So erstellen Sie eine Kubernetes-Anwendung mithilfe eines vorhandenen Beispiels:

  1. Öffnen Sie die Befehlspalette (drücken Sie Ctrl/Cmd+Shift+P oder klicken Sie auf Ansicht > 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 Optionen ein Beispiel anhand der gewünschten Sprache aus: NodeJS, Go, Python, Java.
  4. Wählen Sie einen Speicherort für die Anwendung auf Ihrem lokalen Computer aus und klicken Sie dann auf Neue Anwendung erstellen , um sie zu speichern.

    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, mit der Cloud Code Kubernetes -Anwendungen erstellen, bereitstellen und debuggen kann

Eigene Anwendung verwenden

Schritte zum Verwenden 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 Ihrer Konfiguration angeben.

Konfiguration

Wenn Sie die Ausführungskonfiguration Cloud Code: Develop on Kubernetes verwenden, können Sie Ihr Deployment durch entsprechende Einstellungen anpassen.

Wenn Sie Konfigurationen hinzufügen oder bearbeiten möchten, rufen Sie Ausführen > Konfigurationen öffnen auf und bearbeiten oder fügen Sie Konfigurationen hinzu.

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 Ihre skaffold.yaml Datei anpassen.

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

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

Anwendung ausführen

Sobald Sie eine Anwendung eingerichtet haben, können Sie sie in einem Kubernetes-Cluster ausführen und mit skaffold dev live aufrufen. 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 Cloud Code: Auf Kubernetes ausführen Befehl 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 Aufforderung eine Image-Registry aus, in die die Images übertragen werden sollen. Wenn die Artifact Registry API für Ihr Projekt aktiviert ist und mindestens ein Artifact Registry-Repository vorhanden ist, können Sie ein vorhandenes Artifact Registry-Repository 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
    Docker Hub docker.io/ACCOUNT
    Stellen Sie sicher, dass Sie ordnungsgemäß authentifiziert sind , wenn Sie ein privates Docker Hub-Repository verwenden.
    AWS-Container-Repository (ECR) AWS_ACCOUNT_ID.dkr.ecr.REGION.amazonaws.com/APP
    Azure Container Registry (ACR) ACR_NAME.azurecr.io/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

Sie können Logs von laufenden Pods nicht nur als Livestream in der Terminalausgabe sehen, wenn Sie Ihre Anwendung entwickeln und ausführen. Sie können Logs von einem bestimmten Pod auch im Kubernetes-Bereich aufrufen.

So rufen Sie Logs eines bestimmten Pods auf:

  1. Maximieren Sie im Kubernetes-Bereich Deployments.
  2. Klicken Sie mit der rechten Maustaste auf den Pod, dessen Logs Sie sehen möchten, und dann auf Logs ansehen.

    Die Loganzeige wird geöffnet.

Änderungen vornehmen, neu erstellen und bereinigen

Wenn Sie den Überwachungsmodus in der Startkonfiguration auf false gesetzt haben und Änderungen an Ihrer Anwendung vornehmen und die Anwendung neu erstellen und noch einmal bereitstellen möchten, gehen Sie so vor:

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

  2. Klicken Sie in der Debug-Symbolleiste auf Pausieren (F6) und dann auf Neu starten (Ctrl/Cmd + Shift + F5), um die Anwendung neu zu erstellen und noch einmal bereitzustellen.

  3. Klicken Sie in der Debug-Symbolleiste auf Beenden , um die Anwendung anzuhalten.

Nachdem Sie die Anwendung angehalten haben, werden alle bereitgestellten Kubernetes-Ressourcen aus dem Cluster gelöscht. Sie können dieses Verhalten mithilfe des cleanUp Flags in Ihrer Startkonfiguration ändern.

Secrets speichern

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 Kubernetes-Bereich können Sie Cluster, Namespaces, Knoten, Arbeitslasten (z. B. Deployments, Replikatsets, Pods und Container), Dienste und eingehenden Traffic, Konfigurationen (z. B. Secrets und Konfigurationspläne) und Speicher (z. B. Volumes) anzeigen lassen. Für einige dieser Ressourcen können Sie im Kubernetes-Bereich ressourcenspezifische Aktionen ausführen.

Weitere Informationen zum Aufrufen von Ressourendetails finden Sie in der Kubernetes-Übersicht.

Nächste Schritte

Support erhalten

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