Sviluppare un'app Kubernetes con lo sviluppo in remoto

Questa pagina spiega come utilizzare Cloud Code per VS Code per lo sviluppo remoto, ovvero per aprire la base di codice in un contenitore remoto in cui viene compilata, eseguita il debug e di cui viene eseguito il deployment dell'applicazione. Questo crea un'applicazione portabile, a prescindere dal sistema operativo del tuo computer di sviluppo.

Prerequisiti

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

Configurazione

  1. Per configurare una cartella .devcontainer con un file Dockerfile e Devcontainer.json configurato per la lingua in uso, fai clic su Aprire una finestra remota Apri una finestra remota > Aggiungi file di configurazione del contenitore di sviluppo. In alternativa, puoi seguire i passaggi descritti in Sviluppo remoto in contenitori.

    Dopo aver seguito le istruzioni, il tuo spazio di lavoro includerà:

    • Dockerfile: definisce un'immagine container che contiene gli strumenti per sviluppatori installarlo 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 le istruzioni per installare Google Cloud CLI e Skaffold. Per i dati consulta le guide all'installazione.

  3. Nel Dockerfile, aggiungi istruzioni per copiare il file localhost Configurazioni di gcloud CLI e Skaffold prima di >> $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 a copia le configurazioni gcloud CLI e Skaffold da localhost:

      "-e", "SYNC_LOCALHOST_KUBECONFIG=true",
      "-e", "SYNC_LOCALHOST_GCLOUD=true",
    
  5. Una volta che i file hanno 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 del contenitore remoto deve installare l'estensione Cloud Code per 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 fai una domanda Stack Overflow.