Desenvolva uma app Kubernetes com desenvolvimento remoto

Esta página explica como usar o Cloud Code para VS Code desenvolvimento remoto, ou seja, para abrir a sua base de código num contentor remoto onde a sua aplicação é criada, depurada e implementada. Isto cria uma aplicação portátil, independentemente do SO do seu computador de desenvolvimento.

Pré-requisitos

Além da configuração descrita em Instale a extensão Cloud Code, instale o pacote de extensões de desenvolvimento remoto do VS Code.

Configuração

  1. Para configurar uma pasta .devcontainer com um Dockerfile e um ficheiro Devcontainer.json configurado para o idioma que está a usar, clique em Abra uma janela remota Abrir uma janela remota > Adicionar ficheiros de configuração do contentor de desenvolvimento. Em alternativa, pode seguir os passos descritos no artigo Desenvolvimento remoto em contentores.

    Depois de seguir as instruções, o seu espaço de trabalho inclui:

    • Dockerfile: define uma imagem de contentor que contém as ferramentas para programadores a instalar num contentor de desenvolvimento remoto.

    • Devcontainer.json — Indica à extensão VS Code Remote Tools como executar o contentor de desenvolvimento remoto.

  2. Abra o Dockerfile e adicione instruções para instalar a CLI Google Cloud e o Skaffold. Para ver comandos atualizados, consulte os guias de instalação.

  3. No Dockerfile, adicione instruções para copiar as configurações da CLI gcloud e do Skaffold do localhost antes do comando >> $HOME/.bashrc. Em alternativa, pode reescrever os comandos para instalar a CLI gcloud e o 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. Abra o ficheiro Devcontainer.json e adicione os seguintes argumentos de execução para copiar as configurações da CLI gcloud e do Skaffold de localhost:

      "-e", "SYNC_LOCALHOST_KUBECONFIG=true",
      "-e", "SYNC_LOCALHOST_GCLOUD=true",
    
  5. Depois de os ficheiros terem o conteúdo necessário, clique em Abrir uma janela remota.

Exemplo de ficheiro devcontainer.json

O ficheiro devcontainer.json indica à extensão Remote Container as portas a expor no contentor, como montar unidades e que extensões instalar no contentor remoto. O seguinte ficheiro de exemplo devcontainer.json especifica que a extensão Remote Container deve instalar a extensão 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"
      ]

O que se segue?

Obter apoio técnico

Para enviar feedback, comunicar problemas no GitHub ou fazer uma pergunta no Stack Overflow.