O Cloud Code permite depurar uma aplicação implementada num cluster do Google Kubernetes Engine (GKE) através do skaffold debug.
Pode depurar a sua aplicação num cluster local (como o minikube ou o Docker Desktop), no GKE ou em qualquer outro fornecedor de nuvem.
Com o suporte de depuração do Cloud Code, não tem de concluir a configuração manual, como configurar o encaminhamento de portas ou injetar argumentos de depuração específicos do idioma. A depuração requer uma aplicação GKE pronta para o Cloud Code que inclua um skaffold.yamlficheiro de configuração e uma configuração de lançamento cloudcode.kubernetes.
Depure uma aplicação do GKE
Para começar a depurar a sua aplicação GKE, siga estes passos:
Na barra de estado do Cloud Code, clique no nome do projeto ativo.

No menu de seleção rápida apresentado, selecione Depurar no Kubernetes.
Se lhe for pedido, autentique as suas credenciais para executar e depurar uma aplicação localmente.
Se a sua aplicação não tiver a configuração Skaffold necessária ou a
cloudcode.kubernetesconfiguração de lançamento, o Cloud Code ajuda a configurá-las.Confirme se quer usar o contexto do Kubernetes atual para executar a app (ou mude para um contexto preferencial).
Se escolheu um cluster remoto como contexto, quando lhe for pedido, escolha um registo de imagens para enviar as imagens.
Se o seu projeto tiver a API Artifact Registry ativada e, pelo menos, um repositório do Artifact Registry, pode procurar e selecionar um repositório do Artifact Registry existente.
Os exemplos seguintes demonstram como especificar onde as imagens de contentores são armazenadas para alguns registos comuns:
Artifact Registry REGION-docker.pkg.dev/PROJECT_ID/REPO_NAMEDocker Hub docker.io/ ACCOUNT
Certifique-se de que tem autenticação adequada se estiver a usar um repositório privado do Docker Hub.AWS Container Repository (ECR) AWS_ACCOUNT_ID.dkr.ecr.REGION.amazonaws.com/APPAzure Container Registry (ACR) ACR_NAME.azurecr.io/APPPara gerar o nome final do repositório de imagens, o Cloud Code concatena este registo de imagens com o nome da imagem especificado nos manifestos do Kubernetes. Esta escolha é armazenada na sua
cloudcode.kubernetesconfiguração de lançamento (encontrada em.vscode/launch.json).Para mais informações, consulte o guia de processamento do registo de imagens.
O Cloud Code cria os seus contentores, envia-os para o registo, aplica as configurações do Kubernetes ao cluster e aguarda a implementação.
Após a implementação, o Cloud Code encaminha automaticamente todas as portas de contentores declaradas para a sua máquina e apresenta os URLs na janela de saída para que possa procurar a sua aplicação em direto.
Para cada contentor depurável na sua aplicação, confirme ou introduza o diretório no contentor remoto onde o programa que quer depurar está localizado.
Em alternativa, pode premir ESC para ignorar a depuração do contentor.

O Cloud Code anexa uma sessão de depuração para cada contentor depurável na aplicação.
Agora, pode realizar as mesmas tarefas que faz normalmente quando depura código local, como definir pontos de interrupção e percorrer o código passo a passo, num cluster Kubernetes em direto.
Por predefinição, quando guarda uma alteração à sua aplicação, o Cloud Code volta a implementar a aplicação e configura uma nova sessão de depuração. Pode ativar/desativar esta funcionalidade com a flag
watchna configuração de lançamento do seu projeto.Para inspecionar variáveis e informações de pilha, use a barra lateral de depuração. Para interagir com a sessão de depuração, use a consola de depuração no depurador do painel inferior.
Após a conclusão da sessão, pode usar os seguintes comandos do menu de contexto:
- Abrir registos de implementação: abra os registos da aplicação de uma implementação específica com o explorador de registos do Cloud Code.
- Abrir URL do serviço: abra o URL do serviço da aplicação de um serviço específico num navegador de Internet
Se tiver desativado o modo de observação na configuração de lançamento e quiser fazer alterações à aplicação, reconstruir e voltar a implementar a aplicação, no painel Sessões de desenvolvimento, pause a ação de execução e, de seguida, clique em
Reconstruir e voltar a implementar a aplicação.Para terminar a sessão de depuração, clique em
Parar na barra de ferramentas de depuração.Depois de terminar a sessão de depuração, todos os recursos do Kubernetes implementados são eliminados do cluster.
Detalhes da configuração
O Cloud Code, com tecnologia Skaffold, processa automaticamente os seguintes detalhes de configuração para todos os idiomas suportados:
- Encaminhamento de porta da porta de depuração para que o depurador possa ser anexado.
- Anexar um depurador a um ou mais contentores depuráveis na sua aplicação.
Se a sua aplicação tiver vários contentores depuráveis (contentores cuja linguagem é suportada pela depuração do Cloud Code) configurados no
skaffold.yaml, é anexado um depurador a cada contentor depurável. - Manter as definições de mapeamento de origem entre sessões. Pode personalizar estas definições editando diretamente o ficheiro
.vscode/launch.json.
O Cloud Code também processa os seguintes detalhes de configuração específicos do idioma:
Node.js
Reescrever o ponto de entrada para invocar:
node --inspect=localhost:9229
Python
Instalar o módulo ptvsd
usando um contentor de inicialização e reescrevendo o ponto de entrada para invocar: