Kubernetes-Anwendung mit Remote-Entwicklung entwickeln

Auf dieser Seite wird beschrieben, wie Sie Cloud Code for VS Code für die Remote-Entwicklung verwenden, d. h. wie Sie Ihre Codebasis in einem Remote-Container öffnen, in dem Ihre Anwendung erstellt, debuggt und bereitgestellt wird. Dadurch entsteht eine portable Anwendung, unabhängig vom Betriebssystem Ihres Entwicklungscomputers.

Vorbereitung

Zusätzlich zu den unter Cloud Code-Erweiterung installieren installieren Sie die Remote-Entwicklung VS Code-Erweiterungspaket.

Einrichtung

  1. Wenn Sie einen .devcontainer-Ordner mit einem Dockerfile und einer Devcontainer.json-Datei für die von Ihnen verwendete Sprache einrichten möchten, klicken Sie auf Remote-Fenster öffnen Remote-Fenster öffnen > Konfigurationsdateien für Entwicklungscontainer hinzufügen. Alternativ können Sie der Anleitung unter Remote-Entwicklung in Containern folgen.

    Nachdem Sie den Anweisungen gefolgt sind, enthält Ihr Arbeitsbereich Folgendes:

    • Dockerfile – definiert ein Container-Image, das die Entwicklertools enthält, um in einem Container für die Remote-Entwicklung installieren.

    • Devcontainer.json – Weist die Erweiterung „VS Code Remote Tools“ an, wie sie ausgeführt wird. den Container für die Remote-Entwicklung.

  2. Öffnen Sie die Dockerfile und fügen Sie eine Anleitung zum Installieren der Google Cloud CLI und Skaffold hinzu. Aktuelle Befehle finden Sie in den Installationsanleitungen.

  3. Fügen Sie in der Dockerfile eine Anleitung zum Kopieren der gcloud CLI- und Skaffold-Konfigurationen von localhost vor dem Befehl >> $HOME/.bashrc hinzu. Alternativ können Sie können Sie die Befehle zum Installieren der gcloud CLI und Skaffold.

    # Copy localhost's ~/.kube/config file into the container and swap out localhost
    # for host.docker.internal whenever a new shell starts to keep them in sync.
    RUN echo '\n\
    if [ "$SYNC_LOCALHOST_KUBECONFIG" == "true" ]; then\n\
      mkdir -p $HOME/.kube\n\
      cp -r $HOME/.kube-localhost/* $HOME/.kube\n\
      sed -i -e "s/localhost/host.docker.internal/g" $HOME/.kube/config\n\
    \n\
    fi' \
    if [ "$SYNC_LOCALHOST_GCLOUD" == "true" ]; then\n\
     mkdir -p $HOME/.config/gcloud\n\
     cp -r $HOME/.gcloud-localhost/* $HOME/.config/gcloud\n\
    \n\
    fi' \
    
  4. Öffnen Sie die Datei Devcontainer.json und fügen Sie folgende Ausführungsargumente hinzu: Kopieren Sie die gcloud CLI und Skaffold-Konfigurationen von localhost:

      "-e", "SYNC_LOCALHOST_KUBECONFIG=true",
      "-e", "SYNC_LOCALHOST_GCLOUD=true",
    
  5. Nachdem Sie die erforderlichen Inhalte in die Dateien kopiert haben, klicken Sie auf Remote-Fenster öffnen.

Beispiel für eine devcontainer.json-Datei

Die Datei devcontainer.json gibt der Remote Container-Erweiterung an, welche Ports im Container freigegeben werden sollen, wie Laufwerke bereitgestellt werden und welche Erweiterungen im Remote-Container installiert werden sollen. In der folgenden Beispieldatei devcontainer.json wird angegeben, dass die Remote-Container-Erweiterung die Cloud Code-Erweiterung für VS Code installieren soll:

   "runArgs": [
         "-v","/var/run/docker.sock:/var/run/docker.sock",
         "--mount", "type=bind,source=${env:HOME}${env:USERPROFILE}/.kube,target=/root/.kube-localhost",
         "--mount", "type=bind,source=${env:HOME}${env:USERPROFILE}/.config/gcloud,target=/root/.gcloud-localhost",
         "-e", "SYNC_LOCALHOST_KUBECONFIG=true",
         "-e", "SYNC_LOCALHOST_GCLOUD=true",
         "--cap-add=SYS_PTRACE", "--security-opt", "seccomp=unconfined"
      ]

Nächste Schritte

Support anfragen

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