Kubernetes-Anwendung ausführen

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}
    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.kubernetesgespeichert (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.

    Ausführen der Gästebuch-App und Anzeige der von der Live-Anwendung zurückgegebenen Logs

  • 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.

    Portweiterleitung und Anzeige von URLs im Ausgabefenster

  • 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.

  • 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.

    Ausführung der Kubernetes-Anwendung beenden

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.

Support

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