Agora que está tudo pronto, escolha uma execução regular do aplicativo ou inicie um ciclo de iteração de desenvolvimento no ambiente de desenvolvimento integrado para propagar qualquer alteração feita na origem e nas dependências para o aplicativo ativo. Nesta página, usamos o app de amostra Guestbook para ilustrar a execução e o desenvolvimento na experiência do Kubernetes.
Como escolher uma ação de execução
Antes da execução
Antes de executar o aplicativo, verifique se você está pronto para implantar o aplicativo no contexto do Kubernetes de sua preferência. Isso pode ser especificado na configuração "Executar no Kubernetes", na guia "Executar" e na seção "Preferências de implantação".
Se você quiser alterar seu contexto atual, é possível fazer isso com o Kubernetes Explorer, acessível pelo painel da barra lateral à direita ou usando . Ferramentas > Cloud Code > Kubernetes > Ver Cluster Explorer.
Para otimizar o loop de desenvolvimento por meio da seleção rápida de alterações de arquivos de um determinado tipo sem precisar executar uma recriação de imagem, ative a sincronização de arquivos e a atualização a quente.
Executar no Kubernetes
Para uma execução regular do seu aplicativo, use o objeto de execução do Kubernetes, Executar no Kubernetes , para criar a imagem e implantar o projeto no cluster do Kubernetes. As origens e dependências do projeto não são monitoradas, e o processo do Skaffold termina quando a imagem e a implantação são concluídas.
Para obter mais informações sobre como personalizar sua implantação, consulte as opções de configuração disponíveis.
Desenvolvimento contínuo no Kubernetes
Clique na ação de execução Desenvolver no Kubernetes
para iniciar o ciclo de desenvolvimento no seu cluster do Kubernetes. Após o ciclo de desenvolvimento
ser iniciado, o Cloud Code, que usa o Skaffold, cria uma imagem para
o projeto e, em seguida, marca essa imagem, envia-a para o repositório configurado e
usa o kubectl para implantar os manifestos do Kubernetes do projeto.
Para obter mais informações sobre como personalizar sua implantação, consulte as opções de configuração disponíveis.
Como visualizar o aplicativo implantado
Clique no botão "Executar" na ação de execução de sua preferência para visualizar os registros de aplicativo de entrada na janela de saída.
Após o início da implantação, você verá a lista de portas encaminhadas do aplicativo implantado.
Quando a implantação for concluída, você verá uma notificação informando que o serviço agora pode ser acessado pelos URLs locais. Clique em "Visualizar" para abrir o log de eventos.
Em Log de eventos, encontre a porta em que o aplicativo está sendo exibido. Clique no link para abrir o navegador com o aplicativo em execução.
Veja seu aplicativo recém-implantado.
Ver registros
Embora seja possível ver uma transmissão ao vivo dos registros de pods dentro da saída do terminal enquanto você está desenvolvendo e executando o aplicativo, também é possível ver os registros de um pod específico navegando até o Kubernetes Explorer.
Para ver os registros de um pod específico, siga estas etapas:
Navegue até o Kubernetes Explorer. Ele pode ser acessado no painel lateral à direita ou usando Ferramentas > Cloud Code > Kubernetes > Visualizar o Cluster Explorer.
Selecione o pod do qual você quer ver os registros.
Clique com o botão direito do mouse no pod e selecione Registros de stream. Como alternativa, é possível transmitir registros de contêineres individuais em execução em pods.
Isso gerará registros para o Console do Kubernetes Explorer.
Como adicionar novos recursos no desenvolvimento do Kubernetes
Se você tiver iniciado um ciclo de iteração de desenvolvimento com "Desenvolver no Kubernetes" e tiver adicionado mais recursos ao seu projeto, você verá como essas alterações são implantadas no seu cluster do Kubernetes sem interromper e remover a implantação, sem criar e marcar manualmente a imagem ou atualizar o cluster.
Se você estiver acompanhando o app Guestbook:
Abra o arquivo "FrontendController.java" em
src/main/java/cloudcode/guestbook/frontend
e adicione esse novo endpoint à classe FrontendController:@RequestMapping("/greeting") @ResponseBody public String greeting(@RequestParam(value="name", defaultValue="World") String name) { return String.format("Hello from Kubernetes with IntelliJ, %s!", name); } ```
Adicione as importações necessárias para as novas anotações,
RequestMapping
eResponseBody
.Salve as alterações (Ctrl/Cmd-S) ou crie o projeto (use o menu Criar > Criar projeto).
É possível visualizar os registros de progresso e implantação na janela do console. Depois que as alterações forem propagadas, confirme as atualizações visitando o novo URL do endpoint:
localhost:8080/greeting
.Quando terminar, clique no botão "Parar" para encerrar a sessão de desenvolvimento contínuo. Essa ação faz com que o plug-in exclua todos os recursos do Kubernetes usados para a sessão de desenvolvimento.
Como armazenar chaves secretas
Se o código inclui dados possivelmente confidenciais, como chaves de API, senhas e certificados, é recomendável armazená-los como secrets. O Cloud Code permite armazenar esses secrets com segurança no Gerenciador de secrets e buscá-los de maneira programática quando precisar deles. Para uma visão detalhada de como criar e gerenciar secrets com o Cloud Code, consulte o guia do Gerenciador de secrets.
Como visualizar detalhes do recurso
Para acompanhar o status dos recursos do Kubernetes, use o Kubernetes Explorer, acessível pelo painel lateral à direita. Também é possível acessá-lo usando Ferramentas > Cloud Code > Kubernetes > Visualizar Cluster Explorer.
Use o Kubernetes Explorer para acessar informações sobre clusters, nós, cargas de trabalho e muito mais. Também é possível definir um contexto ativo, fazer streaming e visualizar registros e procurar descrições de recursos.
É possível executar um kubectl describe
nos recursos implantados para exibir os detalhes dele clicando com o botão direito do mouse no rótulo do Kubernetes Explorer e selecionando Descrever.
Configuração
Ao usar as configurações de execução do Executar no Kubernetes e do Desenvolver no Kubernetes, personalize a implantação definindo as configurações disponíveis. Acesse as opções de configuração selecionando "Run Configuration" no menu suspenso e selecionando Edit Configurations.
- Opções do Skaffold
- Skaffold configuration: seleciona um arquivo de configuração skaffold.yaml. Será detectado automaticamente se você tiver um skaffold.yaml no projeto.
- Perfil de implantação: seleciona um perfil das opções disponíveis configuradas no arquivo skaffold.yaml.
- Variáveis de ambiente: permite configurar variáveis de ambiente extras para serem transmitidas ao processo de implantação do Skaffold. As sinalizações do Skaffold também podem ser configuradas como variáveis de ambiente a serem usadas nesse campo. Consulte a documentação de referência da CLI do Skaffold para uma lista abrangente de variáveis de ambiente disponíveis do Skaffold.
- Nível de detalhes: permite definir o nível de detalhamento da saída como
trace
,debug
,info
,warn
,error
oufatal
. O nível de detalhes padrão éwarn
.
- Opções do Kubernetes
- Contexto da implantação: representa o contexto do Kubernetes que o aplicativo será implantado.
O comportamento padrão é a implantação no contexto atual do sistema.
Como alternativa, você pode optar por implantar em um contexto fixo selecionando Switch context and deploy to (na seção "Implantação" das configurações de execução/depuração). Essa opção mudará o contexto atual do sistema para o contexto especificado na implantação.
- Excluir implantações quando terminar: exclui as implantações do Kubernetes quando o processo é finalizado. Esse é o comportamento padrão. Também é possível alternar essa configuração para impedir que as implantações sejam excluídas.
- Contexto da implantação: representa o contexto do Kubernetes que o aplicativo será implantado.
O comportamento padrão é a implantação no contexto atual do sistema.
Como alternativa, você pode optar por implantar em um contexto fixo selecionando Switch context and deploy to (na seção "Implantação" das configurações de execução/depuração). Essa opção mudará o contexto atual do sistema para o contexto especificado na implantação.
- Opções de armazenamento de imagens de contêiner
- Consulte o guia sobre como armazenar sua imagem de contêiner para detalhes.
- Configurações da versão
- O Cloud Code é compatível com tipos de artefato do Docker, Jib e Buildpacks. Consulte Como configurar o guia de preferências de criação de imagens de contêiner para saber como definir o builder preferencial e as configurações relevantes.