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 enthält eine Reihe von Codebeispielvorlagen für einen schnellen Einstieg. So erstellen Sie eine Kubernetes-Anwendung mit einem vorhandenen Beispiel:
- Starten Sie die Befehlspalette (drücken Sie
Ctrl
/Cmd
+Shift
+P
oder klicken Sie auf Ansicht > Befehlspalette) und führen Sie dann Cloud Code: New Application aus. - Wählen Sie als Beispieltyp Kubernetes-Anwendung aus.
- Wählen Sie aus den verfügbaren Optionen ein Beispiel für die Sprache aus, die Sie verwenden möchten: NodeJS, Go, Python, Java.
Wählen Sie einen bevorzugten Speicherort der Anwendung auf Ihrem lokalen Computer aus und klicken Sie zum Speichern auf Neue Anwendung erstellen.
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 Projektslaunch.json
: Konfiguration (vom Typcloudcode.kubernetes
) starten, um die Kubernetes-Anwendung auszuführen oder Fehler zu behebentasks.json
: Konfigurationsinformationen für Visual Studio Code-Aufgaben
- Kubernetes-Manifeste
guestbook-backend.deployment.yaml
: Pod-Spezifikation für die Backend-Knotenguestbook-frontend.deployment.yaml
: Pod-Spezifikation für die Frontend-Knotenmongo.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 verwendet
Eigene Anwendung verwenden
Eine schrittweise 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 der Konfiguration angeben.
Konfiguration
Wenn Sie die Ausführungskonfiguration Cloud Code: Develop on Kubernetes verwenden, können Sie Ihre Bereitstellung durch Konfigurieren der verfügbaren Einstellungen anpassen.
Rufen Sie zum Hinzufügen oder Bearbeiten von Konfigurationen Run > Open Configurations 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
Sie können die Datei skaffold.yaml
anpassen, um zu konfigurieren, wie Ihre Anwendung ausgeführt wird.
Sie können den Start auch konfigurieren, indem Sie die cloudcode.kubernetes
-Konfiguration in der Datei .vscode/launch.json
bearbeiten.
Weitere Informationen zum Anpassen der Startkonfiguration finden Sie unter 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 und mithilfe von skaffold dev
live ansehen.
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.
- Ö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. - 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.
Wenn Sie einen Remote-Cluster als Kontext ausgewählt haben, wählen Sie bei entsprechender Aufforderung eine Image-Registry aus, in die die Images übertragen werden sollen. Wenn Sie Container Registry verwenden, können Sie zu einer vorhandenen Registry suchen oder den Namen einer zu erstellenden Registry angeben. Wenn für Ihr Projekt die Artifact Registry API aktiviert ist und mindestens ein Artifact Registry-Repository vorhanden ist, können Sie zu einem vorhandenen Artifact Registry-Repository wechseln und es 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}
Wenn Sie ein privates Docker Hub-Repository verwenden, müssen Sie ordnungsgemäß authentifiziert sein.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
Sie können nicht nur Logs von ausgeführten Pods als Livestream in der Terminalausgabe sehen, wenn Sie Ihre Anwendung entwickeln und ausführen, sondern auch Logs eines bestimmten Pods im Kubernetes-Bereich aufrufen.
So rufen Sie Logs eines bestimmten Pods auf:
- Maximieren Sie im Abschnitt „Kubernetes“ die Option Deployments.
Klicken Sie mit der rechten Maustaste auf den Pod, von dem Sie Logs aufrufen möchten, und klicken Sie dann auf Logs ansehen.
Die Loganzeige wird geöffnet.
Änderungen vornehmen, neu erstellen und bereinigen
Wenn Sie den Wiedergabemodus in Ihrer Startkonfiguration auffalse
gesetzt haben und Änderungen an Ihrer Anwendung vornehmen, die Anwendung anschließend neu erstellen und noch einmal bereitstellen möchten:
Nehmen Sie die gewünschten Änderungen vor und speichern Sie sie.
Klicken Sie in der Symbolleiste zur Fehlerbehebung auf Pausieren (
F6
) und dann auf Neu starten (Ctrl/Cmd + Shift + F5
), um die Anwendung neu zu erstellen und bereitzustellen.Um die Ausführung der Anwendung zu beenden, klicken Sie in der Debugging-Toolbar auf Beenden.
Nachdem Sie die Anwendung beendet haben, werden alle bereitgestellten Kubernetes-Ressourcen aus dem Cluster gelöscht. Sie können dieses Verhalten mit dem Flag cleanUp
in der 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 Bereich „Kubernetes“ werden Cluster, Namespaces, Knoten, Arbeitslasten (z. B. Deployments, Replikatsets, Pods und Container), Dienste und Ingress-Ressourcen, Konfigurationen (z. B. Secrets und Konfigurationszuordnungen) und Speicher (z. B. Volumes) angezeigt. Im Abschnitt „Kubernetes“ können Sie für einige dieser Ressourcen einzigartige Aktionen ausführen.
Weitere Informationen zum Aufrufen von Ressourcendetails finden Sie in der Kubernetes-Übersicht.
Nächste Schritte
- Build-Optionen mit Buildpacks, Jib oder Docker kennenlernen
- Verwenden Sie Dateisynchronisierung und Hot Refresh, um die Entwicklung zu beschleunigen.
- Weitere Informationen zur Unterstützung bei der YAML-Bearbeitung von Cloud Code.