Mit Cloud Code können Sie Ihre Anwendung auf einfache Weise in einem Kubernetes-Cluster ausführen und mit skaffold dev
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.
Anwendung ausführen
- Wählen Sie in der Cloud Code-Statusleiste den Befehl Run on Kubernetes aus.
- Wenn Ihre Anwendung keine erforderliche Skaffold-Konfiguration oder
cloudcode.kubernetes
-Startkonfiguration hat, unterstützt Cloud Code Sie bei der Einrichtung. - 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.
Wenn es sich um den ausgewählten Kontext eines Remote-Clusters handelt, werden Sie aufgefordert, eine Image-Registry anzugeben, an die die Images übertragen werden.
Im Folgenden finden Sie Beispiele, wie Sie für einige gängige Registrys angeben, wo Container-Images gespeichert werden:
Docker Hub docker.io/{account}
Stellen Sie sicher, dass Sie ordnungsgemäß authentifiziert sind, wenn Sie ein privates Docker Hub-Repository verwenden.Google Container Repository (GCR) gcr.io/{project_id} 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.
Nach Abschluss der Einführung leitet Cloud Code alle deklarierten Containerports automatisch an Ihren Computer weiter und zeigt die URLs im Ausgabefenster an. So können Sie Ihre Live-Anwendung durchsuchen.
Standardmäßig überwacht Cloud Code das Dateisystem kontinuierlich auf Änderungen an Ihren Dateien (unabhängig von Kubernetes-Konfiguration oder -Code), erstellt die Container neu und stellt die Anwendung im Cluster noch einmal bereit. sodass Ihre Änderungen nahezu in Echtzeit angezeigt werden. Sie können dieses Verhalten mithilfe des Flags
watch
in Ihrer Startkonfiguration ändern.Nach Abschluss der Sitzung stehen über die Cloud Code-Statusleiste weitere Optionen für das Kontextmenü zur Überwachung Ihrer Anwendung und ihrer Ressourcen zur Verfügung, darunter:
- Deployment-Logs öffnen:theffnen Sie die Anwendungslogs einer bestimmten Bereitstellung mit der Cloud Code-Loganzeige.
- Open Service URL (Dienst-URL öffnen): URL des Anwendungsdienstes in einem Webbrowser öffnen
Wiedergabemodus aktivieren/deaktivieren:Wiedergabemodus für die aktuelle Sitzung aktivieren und deaktivieren (nicht für Fehlerbehebungssitzungen verfügbar)
Klicken Sie in der Debug-Symbolleiste auf das Stoppsymbol, um die Anwendung anzuhalten.
Nach Beendigung der Anwendung werden alle bereitgestellten Kubernetes-Ressourcen aus dem Cluster gelöscht. Sie können dieses Verhalten mit dem Flag
cleanUp
in der Startkonfiguration ändern.
Startkonfiguration anpassen
Zur Konfiguration der Ausführung Ihrer Anwendung können Sie den Inhalt von skaffold.yaml anpassen und die folgenden Felder in der cloudcode.kubernetes
-Konfiguration in Ihrem .vscode/launch.json
angeben:
- skaffoldConfig: Geben Sie die Skaffold-Konfigurationsdatei an, die die Build- und Deployment-Einstellungen enthält.
- Profile: Geben Sie das gewünschte Skaffold-Profil an. Wenn keines definiert ist, wird das Standardprofil verwendet.
- imageRegistry: Geben Sie die Image-Registry an, in die Images übertragen werden sollen.
- Watch: Prüft auf Änderungen im Arbeitsbereich und führt die Anwendung neu aus. Sofern der Wert nicht explizit auf "false" festgelegt wird, ist standardmäßig "true" eingestellt.
- CleanUp: Löscht bereitgestellte Kubernetes-Ressourcen im Cluster, nachdem die Anwendung beendet wurde. Sofern der Wert nicht explizit auf "false" festgelegt wird, ist standardmäßig "true" eingestellt.
- portForward: Portweiterleitung für bereitgestellte Kubernetes-Ressourcen auf Ihrem Cluster an Ihren lokalen Computer. Sofern der Wert nicht explizit auf "false" festgelegt wird, ist standardmäßig "true" eingestellt.