Desenvolver um app do Kubernetes com desenvolvimento remoto

Nesta página, explicamos como usar o Desenvolvimento remoto do Cloud Code para VS Code, ou seja, para abrir sua base de código em um contêiner remoto em que o aplicativo é criado, depurado e implantado. Isso cria um aplicativo portátil, independentemente do sistema operacional da sua máquina de desenvolvimento.

Pré-requisitos

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

Instalação

  1. Para configurar uma pasta .devcontainer com um Dockerfile e um arquivo Devcontainer.json configurados para a linguagem que você está usando, clique em Abrir uma janela remota Abrir uma janela remota > Adicionar arquivos de configuração do contêiner de desenvolvimento. Como alternativa, siga as etapas em Desenvolvimento remoto em contêineres.

    Depois que você seguir as instruções, seu espaço de trabalho incluirá:

    • Dockerfile: define uma imagem de contêiner que contém as ferramentas para desenvolvedores a serem instaladas em um contêiner de desenvolvimento remoto.

    • Devcontainer.json: instrui a extensão das Ferramentas remotas do VS Code a executar o contêiner de desenvolvimento remoto.

  2. Abra o Dockerfile e adicione instruções para instalar a Google Cloud CLI e o Skaffold. Para 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. Como alternativa, reescreva 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 arquivo Devcontainer.json e adicione os seguintes argumentos de execução para copiar as configurações da CLI gcloud e do Skaffold do localhost:

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

Exemplo de arquivo devcontainer.json

O arquivo devcontainer.json informa à extensão do contêiner remoto quais portas serão expostas no contêiner, como ativar unidades e quais extensões serão instaladas no contêiner remoto. O exemplo de arquivo devcontainer.json a seguir especifica que a extensão do contêiner remoto precisa instalar a extensão do Cloud Code para 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"
      ]

A seguir

Receber suporte

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