Sviluppa un'app Kubernetes con lo sviluppo remoto

Questa pagina spiega come utilizzare lo sviluppo remoto di Cloud Code for VS Code, ovvero per aprire il codebase in un container remoto in cui viene creata, sottoposta a debug e distribuita l'applicazione. Questo crea un'applicazione portabile, indipendentemente dal sistema operativo della macchina di sviluppo.

Prerequisiti

Oltre alla configurazione descritta in Installare l'estensione Cloud Code, installa il pacchetto di estensioni Sviluppo remoto di VS Code.

Configurazione

  1. Per configurare una cartella .devcontainer con un Dockerfile e un file Devcontainer.json configurati per il linguaggio in uso, fai clic su Aprire una finestra remota Apri una finestra remota > Aggiungi file di configurazione di container per sviluppatori. In alternativa, puoi seguire i passaggi descritti in Sviluppo remoto nei container.

    Dopo aver seguito le istruzioni, l'area di lavoro includerà:

    • Dockerfile: definisce un'immagine container contenente gli strumenti per sviluppatori da installare in un container di sviluppo remoto.

    • Devcontainer.json: indica all'estensione VS Code Remote Tools come eseguire il container di sviluppo remoto.

  2. Apri il Dockerfile e aggiungi istruzioni per installare Google Cloud CLI e Skaffold. Per i comandi aggiornati, vedi le guide all'installazione.

  3. Nel Dockerfile, aggiungi istruzioni per copiare le configurazioni gcloud CLI e Skaffold di localhost prima del comando >> $HOME/.bashrc. In alternativa, puoi riscrivere i comandi per installare gcloud CLI e 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. Apri il file Devcontainer.json e aggiungi i seguenti argomenti di esecuzione per copiare le configurazioni di gcloud CLI e Skaffold da localhost:

      "-e", "SYNC_LOCALHOST_KUBECONFIG=true",
      "-e", "SYNC_LOCALHOST_GCLOUD=true",
    
  5. Quando i file includono i contenuti richiesti, fai clic su Apri una finestra remota.

File devcontainer.json di esempio

Il file devcontainer.json indica all'estensione del container remoto quali porte esporre nel container, come montare le unità e quali estensioni installare nel container remoto. Il seguente file devcontainer.json di esempio specifica che l'estensione Container remoto deve installare l'estensione 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"
      ]

Passaggi successivi

Richiedi assistenza

Per inviare feedback, segnala problemi su GitHub o poni una domanda su Stack Overflow.