Desenvolver um app do Kubernetes com o desenvolvimento remoto

Nesta página, explicamos como usar o Cloud Code para VS Code Desenvolvimento remoto, Ou seja, abrir sua base de código em um contêiner remoto onde seu aplicativo está criados, depurados e implantados. Isso cria um aplicativo portátil, independente do SO da máquina de desenvolvimento.

Pré-requisitos

Além da configuração descrita nos Instale a extensão do Cloud Code, instalar Desenvolvimento remoto pacote de extensão do VS Code.

Configuração

  1. Para configurar uma pasta .devcontainer com um Dockerfile e Devcontainer.json configurado para o idioma usado, clique em Abrir uma janela remota Abrir uma janela remota > Adicionar arquivos de configuração do contêiner de desenvolvimento. Você também pode seguir 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 instalação em um contêiner de desenvolvimento remoto.

    • Devcontainer.json: instrui a extensão VS Code Remote Tools 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 exibir 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 Contêiner remoto deve instalar o 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

Acesse o GitHub para enviar feedback e informar problemas ou o Stack Overflow (ambos em inglês) para fazer perguntas.