Depurar aplicativos do Kubernetes com o Cloud Code para IntelliJ
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Usando o Cloud Code para IntelliJ, você depura facilmente seus aplicativos implantados em um cluster do Kubernetes. É possível depurar um aplicativo em um cluster local, como
minikube ou Docker Desktop, no Google Kubernetes Engine ou em qualquer outro provedor do Cloud.
Com o suporte à depuração do Cloud Code, você pula a configuração manual, como
configurar o encaminhamento de portas, instalar um back-end de depuração ou injetar
argumentos de depuração específicos da linguagem da maneira correta. Você só precisa de um aplicativo do Kubernetes pronto para o Cloud Code que inclua um arquivo de configuração skaffold.yaml.
A tabela a seguir lista as linguagens e os IDEs compatíveis com o Cloud Code para
depuração. A tabela também lista os plug-ins necessários, quando aplicável:
Com o Cloud Code,
é possível definir pontos de interrupção e depurar aplicativos remotos em execução nos contêineres
das seguintes linguagens:
Java
O Cloud Code adiciona automaticamente uma variável de ambiente, JAVA_TOOL_OPTIONS, com a configuração de JDWP apropriada para ativar a depuração. Se JAVA_TOOL_OPTIONS já estiver presente,
o Cloud Code usará as configurações especificadas em
JAVA_TOOL_OPTIONS.
Node.js
Dependendo da estrutura do aplicativo e da configuração de criação da
imagem, talvez seja necessário ajudar o depurador a mapear as fontes locais
para as fontes remotas no contêiner. Isso permite que o depurador
de nós processe corretamente seus pontos de interrupção.
É possível configurar isso de uma das seguintes maneiras:
Configuração manual
Na lista suspensa, selecione Develop on Kubernetes Run Configuration e clique em Edit Configurations. Na guia Depurar, configure o mapeamento de origem da origem do aplicativo local para o local de origem no contêiner remoto.
Opções de configuração:
File/directory: o arquivo ou diretório local do aplicativo
em execução no Kubernetes.
Caminho remoto: o caminho para o arquivo ou diretório em execução no
contêiner no Kubernetes.
Configuração automática
É possível adiar o mapeamento para o Cloud Code. Quando você
inicia a sessão de depuração, o Cloud Code tenta inferir
esse mapeamento automaticamente. O mapeamento inferido é apresentado em uma
caixa de diálogo; Uma caixa de diálogo para cada artefato que você está depurando.
Opções de configuração:
Caminho local: o caminho local para a raiz do artefato que você
está depurando.
Caminho remoto: o caminho para o arquivo ou diretório em execução no
contêiner no Kubernetes. É possível modificá-lo
por seu próprio valor. Se você clicar em Cancelar, nenhum mapeamento será aplicado.
Go
Para configurar seu aplicativo para depuração, seu app precisa ser um aplicativo baseado em módulo Go e ser identificado como baseado em Go definindo um dos padrãos Variáveis de ambiente de execução do Go no contêiner, como GODEBUG, GOGC, GOMAXPROCS ou GOTRACEBACK. GOTRACEBACK=single é a configuração padrão para Go
e GOTRACEBACK=all é uma configuração geralmente útil.
Como opção, mas recomendado, seu app precisa ser criado com as
opções -gcflags='all=-N -l' para desativar as otimizações. Os perfis do Skaffold são uma opção útil para isso. Eles podem ser definidos com o campo Perfil de implantação na sua configuração do Run no Guia Build/Deploy.
Python
Para configurar seu aplicativo para depuração, verifique se você atende aos seguintes
pré-requisitos:
É possível permitir que o Cloud Code gerencie suas dependências ou aponte para uma instalação local do Skaffold. Consulte Preferências > Ferramentas >
Cloud Code > Dependências.
O interpretador do Python está configurado
Sem um interpretador do Python configurado no projeto, a depuração não funcionará, porque não há como executar a pydevd, o depurador do Python subjacente.
Ambiente de desenvolvimento integrado
Como configurar
IntelliJ IDEA
A depuração do Python com o Cloud Code requer que um SDK do Python seja configurado para o projeto.
Acesse File
> Project Structure e adicione um SDK Python na guia Project. Se não existir, adicione uma na guia SDK.
PyCharm
Acesse File > Settings > Project > Python Interpreter ou para Mac OS X, PyCharm > Preferences > Project > Python
Interpreter e adicione um interpretador do Python. de dados.
Agora é possível realizar as tarefas que você normalmente faz ao depurar código local, como definir pontos de interrupção e avançar o código, em um cluster ativo do Kubernetes.
Para encerrar a sessão de depuração, clique no ícone de parada na configuração de execução Desenvolver no Kubernetes.
Para enviar um feedback ou informar um problema no ambiente de desenvolvimento integrado do IntelliJ, acesse
Tools > Cloud Code > Help / About > Envie
feedback ou informe um problema para informar um problema no GitHub.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-08-11 UTC."],[[["\u003cp\u003eCloud Code for IntelliJ enables debugging of applications deployed to Kubernetes clusters, including local clusters, Google Kubernetes Engine, or other cloud providers.\u003c/p\u003e\n"],["\u003cp\u003eDebugging support in Cloud Code eliminates the need for manual setup, such as port forwarding, debugging backend installation, or language-specific debug argument injection, for supported languages.\u003c/p\u003e\n"],["\u003cp\u003eCloud Code allows for debugging while actively making changes and iterating on the source code of an application.\u003c/p\u003e\n"],["\u003cp\u003eSupported languages for debugging include Java, Kotlin, Node.js, Go, and Python, with specific IDE and plugin requirements for each.\u003c/p\u003e\n"],["\u003cp\u003eCloud Code offers both manual and automatic configurations for mapping local source code to remote sources in containers for Node.js applications, and it also has specific configurations needed for Go and Python apps.\u003c/p\u003e\n"]]],[],null,["# Debug Kubernetes applications with Cloud Code for IntelliJ\n\n| **Note:** Debugging support is available for Java, Kotlin, Node.js, Go, and Python.\n\nCloud Code for IntelliJ allows you to easily debug your applications deployed to a\nKubernetes cluster. You can debug an application on a local cluster (like\nminikube or Docker Desktop), Google Kubernetes Engine, or any other Cloud provider.\n\nWith Cloud Code's debugging support, you skip manual setup like\nsetting up port forwarding, installing a debugging backend, or injecting\nlanguage-specific debug arguments in the right way. All you need is a\nCloud Code-ready Kubernetes application that includes a\n`skaffold.yaml` configuration file.\n\nCloud Code also enables you to [debug an application while making\nchanges to, and iterating on, source code](/code/docs/intellij/watch-modes#applying-changes-while-debugging).\n\nSupported IDEs\n--------------\n\nThe following table lists the languages and IDEs that Cloud Code supports for\ndebugging. The table also lists the required plugins, where applicable:\n\nFor more information about IDE support, see\n[Supported JetBrains IDEs](/code/docs/intellij/ides).\n\nWith Cloud Code, you can set breakpoints and\ndebug remote applications running in containers for the following languages: \n\n### Java\n\nCloud Code automatically adds an environment variable,\n`JAVA_TOOL_OPTIONS`, with the appropriate JDWP configuration to\nenable debugging. If `JAVA_TOOL_OPTIONS` is already present,\nCloud Code uses existing settings specified in\n`JAVA_TOOL_OPTIONS`.\n\n### Node.js\n\nDepending on the structure of your application and its image build\nconfiguration, you might have to help the debugger map your local sources\nto the remote sources in the container. This enables the Node debugger\nto correctly process your breakpoints.\n\nYou can configure this in one of the following ways:\n\n- **Manual configuration**\n\n Select the **Develop on Kubernetes** Run Configuration from the dropdown\n and then click **Edit Configurations** . On the **Debug** tab, configure the\n source mapping from your local application source to the source\n location in the remote container.\n\n Configuration options:\n - **File/directory** - the local file or directory of your application running on Kubernetes.\n - **Remote path** - the path to the file or directory running in the container on Kubernetes.\n- **Automatic configuration**\n\n You can choose to defer this mapping to Cloud Code. When you\n start your debug session, Cloud Code attempts to infer\n this mapping automatically. The inferred mapping is presented to you in a\n dialog; one dialog for each artifact you are debugging.\n\n Configuration options:\n - **Local path** - the local path to the root of the artifact you are debugging.\n - **Remote path** - the path to the file or directory running in the container on Kubernetes. You can choose to override this with your own value. If you click **Cancel**, no mapping is applied.\n\n | **Note:** Automatic mapping is a best effort guess based on heuristics.\n\n### Go\n\nTo configure your application for debugging, your app must be a\n[Go Module](https://blog.golang.org/using-go-modules)-based application\nand be identified as being Go-based by setting one of the\n[standard Go runtime environment variables](https://godoc.org/runtime)\nin the container, such as `GODEBUG`, `GOGC`, `GOMAXPROCS`, or\n`GOTRACEBACK`. `GOTRACEBACK=single` is the default setting for Go\nand `GOTRACEBACK=all` is a generally useful configuration.\n\nOptionally (but recommended), your app should be built with the\n`-gcflags='all=-N -l'` options to disable optimizations. Skaffold\n[Profiles](https://skaffold.dev/docs/environment/profiles/) are a useful\noption for this purpose and can be set with the **Deployment Profile**\nfield in your Run configuration on the **Build/Deploy** tab.\n\n### Python\n\nTo configure your application for debugging, ensure you meet the following\nprerequisites:\n\n- **IDE, edition, and plugin are compatible**\n\n For compatible IDEs, editions, and plugins, see\n [Supported IDEs](#supported_ides).\n- **Skaffold version is 1.25.0 or greater**\n\n You can allow Cloud Code to [manage your dependencies](/code/docs/intellij/install#managed_dependencies),\n or point to a local Skaffold installation. See **Preferences \\\u003e Tools \\\u003e\n Cloud Code \\\u003e Dependencies**.\n- **Python interpreter is configured**\n\n Without a Python interpreter configured in your project,\n debugging won't work, as there is no way to run `pydevd`, the\n underlying Python debugger.\n\n \u003cbr /\u003e\n\n \u003cbr /\u003e\n\nFor more information, see the [Skaffold debug\ndocumentation](https://skaffold.dev/docs/workflows/debug/).\n\nDebug an application\n--------------------\n\n1. To start the development cycle in debug mode on your Kubernetes cluster,\n click the debug action for\n **Develop on Kubernetes**.\n\n The [continuous development cycle](/code/docs/intellij/speed-up-k8s-development#continuous_development_on_kubernetes)\n initiates in debug mode.\n\n Cloud Code attaches a debug session:\n\n2. You can now perform the tasks you normally do when debugging local code,\n like setting breakpoints and stepping through code, against a live\n Kubernetes cluster.\n\n3. To end the debugging session, click the stop icon on the\n **Develop on Kubernetes** Run Configuration.\n\nWhat's next\n-----------\n\n- Use [file sync and hot reloading](/code/docs/intellij/speed-up-k8s-development#enable-skaffold-file-sync-and-hot-reloading) to speed up development.\n- Set up a [continuous development](/code/docs/intellij/speed-up-k8s-development#continuous_development_on_kubernetes) environment in Cloud Code.\n- [View Kubernetes logs](/code/docs/intellij/view-logs) in Cloud Code.\n\nGet support\n-----------\n\nTo submit feedback or report an issue in your IntelliJ IDE, go to **Tools** \\\u003e **Cloud Code** \\\u003e **Help / About** \\\u003e **Submit\nfeedback or report an issue** to report an issue on [GitHub](https://github.com/GoogleCloudPlatform/cloud-code-intellij/issues)."]]