minikube für die lokale Entwicklung in Cloud Code for VS Code verwenden

Cloud Code installiert und verwaltet Minikube automatisch. Wenn Sie die Abhängigkeitsverwaltung deaktiviert haben, fügen Sie die Minikube-Binärdatei zu PATH hinzu.

Hinweise

  1. Installieren Sie Git, damit Cloud Code Git-Vorgänge wie das Klonen eines Beispiels ausführen kann.
  2. Installieren Sie das Cloud Code-Plug-in, falls noch nicht geschehen.

Anwendung aus einer Vorlage erstellen

Cloud Code enthält eine Reihe von Codebeispielvorlagen, die Ihnen einen schnellen Einstieg ermöglichen. So erstellen Sie eine Kubernetes-Anwendung mit einem vorhandenen Beispiel:

  1. Starten Sie die Befehlspalette. Drücken Sie dazu Ctrl/Cmd + Shift + P oder klicken Sie auf Ansicht > Befehlspalette. 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 für die Sprache aus, die Sie verwenden möchten: NodeJS, Go, Python, Java.
  4. Wählen Sie einen bevorzugten Speicherort für die Anwendung auf Ihrem lokalen Computer aus und klicken Sie zum Speichern auf Create new application (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 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 verwendet

Eigene Anwendung verwenden

Eine schrittweise Anleitung 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 der Konfiguration angeben.

Konfiguration

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

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

Minikube-Cluster erstellen und bereitstellen

Minikube-Cluster starten

Cloud Code installiert und verwaltet Minikube automatisch. Wenn Sie die Abhängigkeitsverwaltung deaktiviert haben, fügen Sie die Minikube-Binärdatei zu PATH hinzu.

  1. Öffnen Sie die Befehlspalette (drücken Sie Ctrl/Cmd + Shift + P oder klicken Sie auf View > Befehlspalette) und führen Sie dann den Befehl Cloud Code: Control minikube aus.
  2. Klicken Sie auf minikube bei Wählen Sie einen zu steuernden Minikube-Cluster (Profil) aus und klicken Sie dann auf Starten.

Auf Minikube ausführen

  1. Öffnen Sie die Befehlspalette und führen Sie Cloud Code: Run on Kubernetes aus.
  2. Klicken Sie auf Ja für Aktuellen Kontext (minikube) verwenden, um die App auszuführen?
  3. Cloud Code führt Ihre Anwendung in einem Minikube-Cluster aus. Autorisieren Sie Cloud Shell dazu, Ihre Anmeldedaten für einen Google Cloud API-Aufruf zu verwenden, wenn Sie dazu aufgefordert werden.

    Sehen Sie sich die Bereitstellungsdetails im Abschnitt Development Sessions von Cloud Code an.

  4. Rufen Sie die URLs auf, indem Sie im Bereich Entwicklersitzungen auf URLs übertragen klicken. Klicken Sie dann auf den URL-Link, um den Browser mit der laufenden Anwendung zu öffnen.

Interaktives Terminal in einem Container öffnen

  1. Klicken Sie auf Cloud Code und maximieren Sie dann den Explorer Development Sessions.
  2. Maximieren Sie Bereitgestellte Ressourcen und dann Pods.
  3. Klicken Sie mit der rechten Maustaste auf einen Container und dann auf Get Terminal.

Minikube-Cluster pausieren oder beenden

  1. Öffnen Sie die Befehlspalette (drücken Sie Ctrl/Cmd + Shift + P oder klicken Sie auf View > Befehlspalette) und führen Sie dann den Befehl Cloud Code: Control minikube aus.
  2. Nachdem die Option Minikube-Cluster (Profil) zum Steuern auswählen angezeigt wurde, klicken Sie auf minikube und dann auf Beenden oder Pausieren.

Cluster von einem anderen Cloud-Anbieter erstellen und hinzufügen

Wenn Sie einen lokalen Cluster oder einen Cluster eines anderen Anbieters wie Azure oder AWS verwenden, erstellen Sie den Cluster mit den Tools des Anbieters und fügen Sie ihn KubeConfig hinzu.

Mit anderen lokalen Clustern arbeiten

Zusätzlich zu Minikube können Sie mit Cloud Code arbeiten, wenn Sie Docker Desktop (für Mac oder Windows) verwenden.

Damit Cloud Code mit einem lokalen Cluster funktioniert, muss Ihre Standardkonfiguration (z. B. ~/.kube/config) Ihren lokalen Cluster enthalten. Dieser Cluster muss als aktueller Kontext festgelegt werden.

Wenn Sie beispielsweise den lokalen Cluster docker-for-desktop mit Docker Desktop verwenden, legen Sie Ihren bevorzugten Cluster mit dem folgenden Befehl fest:

kubectl config use-context docker-for-desktop

Nächste Schritte

Support anfragen

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