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, abrir a base de código em um contêiner remoto em que o aplicativo é criado, depurado e implantado). Isso cria um aplicativo portátil, independente do SO da 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 Remote Development.

Configuração

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

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

    • Dockerfile: define uma imagem de contêiner que contém as ferramentas de desenvolvedor para instalar em um contêiner de desenvolvimento remoto.

    • Devcontainer.json: instrui a extensão Remote Tools 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 a CLI gcloud e as configurações 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 a CLI gcloud e as configurações do Skaffold de 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 Remote Container quais portas expor no contêiner, como montar unidades e quais extensões instalar no contêiner remoto. O exemplo de arquivo devcontainer.json a seguir especifica que a extensão Remote Container deve instalar a extensão 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, faça uma pergunta no Stack Overflow. Se você for um cliente do Google Cloud, poderá registrar tíquetes pelos canais de suporte padrão do Google Cloud.