Minikube für die lokale Entwicklung in Cloud Code für VS Code verwenden

Cloud Code installiert und verwaltet Minikube automatisch. Wenn Sie das Abhängigkeitsmanagement 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 für einen schnellen Einstieg. So erstellen Sie eine Kubernetes-Anwendung mit einem vorhandenen Beispiel:

  1. Starten Sie die Befehlspalette (drücken Sie Ctrl/Cmd + Shift + P oder Ansicht > Befehlspalette) und führen Sie dann Cloud Code: New Application aus.
  2. Wählen Sie als Beispieltyp Kubernetes-Anwendung aus.
  3. Wählen Sie anhand der Sprache, die Sie verwenden möchten, aus den verfügbaren Optionen ein Beispiel aus: 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 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-Manifeste
    • 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
  • Quelle:
    • (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

Die erforderlichen Schritte 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. Dies können Sie in der Konfiguration angeben.

Konfiguration

Wenn Sie die Ausführungskonfiguration Cloud Code: Develop on Kubernetes verwenden, können Sie das Deployment durch Konfigurieren der verfügbaren Einstellungen anpassen.

Rufen Sie zum Hinzufügen oder Bearbeiten von Konfigurationen Run > Open Configurations (Ausführen > Konfigurationen öffnen) auf und bearbeiten Sie dann die Konfigurationen oder fügen Sie sie hinzu.

Minikube-Cluster erstellen und bereitstellen

Minikube-Cluster starten

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

  1. Starten Sie die Befehlspalette (drücken Sie Ctrl/Cmd + Shift + P oder Ansicht > Befehlspalette) und führen Sie dann den Befehl Cloud Code: Control minikube aus.
  2. Klicken Sie bei Minikube-Cluster (Profil) zum Steuern auswählen auf minikube und dann auf Start.

Auf Minikube ausführen

  1. Starten Sie die Befehlspalette und führen Sie Cloud Code: Run on Kubernetes aus.
  2. Klicken Sie bei Use current context (minikube) to run the app? (Aktuellen Kontext (minikube) zum Ausführen der Anwendung verwenden?) auf Yes (Ja) bei
  3. Cloud Code führt die Anwendung in einem Minikube-Cluster aus. Wenn Sie dazu aufgefordert werden, autorisieren Sie Cloud Shell, Ihre Anmeldedaten für einen Google Cloud API-Aufruf zu verwenden.

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

  4. Sie können sich die URLs ansehen, indem Sie im Bereich Development Sessions auf Portfoward URLs und dann auf den URL-Link klicken, 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 für 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. Starten Sie die Befehlspalette (drücken Sie Ctrl/Cmd + Shift + P oder Ansicht > Befehlspalette) und führen Sie dann den Befehl Cloud Code: Control minikube aus.
  2. Wenn die Option Minikube-Cluster (Profil) zum Steuern auswählen angezeigt wird, 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 der KubeConfig hinzu.

Mit anderen lokalen Clustern arbeiten

Wenn Sie Docker Desktop (für Mac oder Windows) verwenden, können Sie neben Minikube auch mit Cloud Code arbeiten.

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.