Kubernetes-Anwendung mit Remote-Entwicklung entwickeln

Auf dieser Seite wird erläutert, wie Sie Cloud Code für VS Code verwenden Remote-Entwicklung Ihre Codebasis in einem Remote-Container zu öffnen, in dem sich Ihre Anwendung befindet, erstellt, debuggen und bereitgestellt werden. 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. So richten Sie einen .devcontainer-Ordner mit einem Dockerfile und Devcontainer.json ein: die für Ihre Sprache konfiguriert ist, klicken Sie auf Remote-Fenster öffnen Ein Remote-Fenster öffnen > Fügen Sie Container-Konfigurationsdateien für Entwickler hinzu. Alternativ können Sie die Schritte in Remote-Entwicklung in Containern

    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 das Dockerfile und fügen Sie eine Anleitung zum Installieren des Google Cloud CLI und Skaffold: Für aktuelle finden Sie in den Installationsanleitungen.

  3. Fügen Sie im Dockerfile eine Anleitung zum Kopieren des lokalen Hosts hinzu gcloud CLI- und Skaffold-Konfigurationen vor >> $HOME/.bashrc . 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. Wenn Ihre Dateien den erforderlichen Inhalt haben, klicken Sie auf Öffnen Sie ein Remote-Fenster.

Beispieldatei „devcontainer.json“

Die Datei devcontainer.json teilt der Remote Container-Erweiterung mit, welche Ports im Container verfügbar gemacht werden, wie Laufwerke bereitgestellt und Erweiterungen installiert werden im Remote-Container. Die folgende Beispieldatei devcontainer.json gibt an, dass die Remote Container-Erweiterung das Erweiterung „Cloud Code for VS Code“:

   "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 erhalten

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