Como executar e desenvolver um aplicativo

Agora que está tudo pronto, você pode optar por uma execução regular do seu aplicativo ou iniciar um ciclo de iteração de desenvolvimento no seu ambiente de desenvolvimento integrado para propagar todas as alterações feitas na origem e nas dependências do 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 corrida

Antes de executar o aplicativo, verifique se você está configurado para implantar o aplicativo no contexto 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 alternar seu contexto atual, use o Kubernetes Explorer, acessível no painel da barra lateral à direita ou usando Ferramentas > Cloud Code > Kubernetes > Ver explorador de clusters.

Para otimizar seu loop de desenvolvimento ao detectar rapidamente alterações de arquivo de um determinado tipo sem precisar realizar uma recriação de imagem, ative a sincronização de arquivo e a recarga dinâmica.

Executar no Kubernetes

O destino de execução "Run on Kubernetes" executa uma execução regular do aplicativo, em que as origens e dependências do projeto não são observadas e o processo do Skaffold termina após a conclusão da imagem e da implantação.

Para criar a imagem e implantar o projeto no cluster do Kubernetes:

  1. Clique em Run on Kubernetes Ícone do botão de execução e em Edit Configurations.
  2. Personalize sua implantação usando as opções de configuração disponíveis.
  3. Se você estiver desenvolvendo no Silicon série Apple M e implantando no Google Kubernetes Engine, crie uma imagem que possa ser executada em uma arquitetura x86. Para usar o Cloud Build a fim de criar uma imagem x86, clique na guia Build/Deploy e escolha cloudbuild como o perfil de implantação } Para informações sobre o custo de criação do aplicativo usando o Cloud Build, consulte Preços do Cloud Build.
  4. Quando estiver satisfeito com a configuração, clique em OK e em Executar no Kubernetes.

Implantação comum usando a ação de execução

Desenvolvimento contínuo no Kubernetes

O destino de execução do desenvolvimento no Kubernetes inicia o ciclo de desenvolvimento no cluster do Kubernetes. Depois de iniciar o ciclo de desenvolvimento, o Cloud Code, usando Skaffold, cria uma imagem para o projeto, marca-a, envia-a para o repositório configurado e usa kubectl para implantar os manifestos do Kubernetes do projeto. de dados.

  1. Clique em Desenvolver no Kubernetes Ícone do botão de execução e em Editar configurações.
  2. Personalize sua implantação usando as opções de configuração disponíveis.
  3. Se você estiver desenvolvendo no Silicon série Apple M e implantando no Google Kubernetes Engine, crie uma imagem que possa ser executada em uma arquitetura x86. Para usar o Cloud Build a fim de criar uma imagem x86, clique na guia Build/Deploy e escolha cloudbuild como o perfil de implantação } Para informações sobre o custo de criação do aplicativo usando o Cloud Build, consulte Preços do Cloud Build.
  4. Quando estiver satisfeito com a configuração, clique em OK e em Executar no Kubernetes.

Como iniciar o ciclo de desenvolvimento do cluster do Kubernetes

Como visualizar o aplicativo implantado

  1. Clique no botão "Executar" na sua ação de preferência. Veja os registros do aplicativo recebidos na janela de saída na guia Registros.

    Quando a implantação começar, você verá a lista de portas encaminhadas para o aplicativo implantado.

  2. Após a conclusão da implantação, você receberá uma notificação de que novos URLs de serviço estão disponíveis. Clique na guia URLs de serviço para visualizar os URLs e, em seguida, clique no link de URL para abrir o navegador com o aplicativo em execução.

    Como visualizar serviços encaminhados por porta na guia "URLs de serviço"

    Como alternativa, é possível abrir o Log de eventos e clicar no link para abrir o navegador com o aplicativo em execução.

Como ver registros

Além de ver os registros de pods em execução como uma transmissão ao vivo na saída do terminal enquanto você está desenvolvendo e executando o aplicativo, é 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:

  1. Navegue até o Kubernetes Explorer. Ela pode ser acessada no painel lateral à direita ou usandoFerramentas >Cloud Code >Kubernetes >Ver o Cluster Explorer de dados.

    Painel do Kubernetes Explorer aberto usando a guia na barra de tarefas do lado direito

  2. Selecione o pod do qual você quer ver os registros.

  3. Clique com o botão direito do mouse no pod e clique em Fazer streaming de registros. Também é possível fazer streaming de registros para contêineres individuais em execução em pods.

    O Console do Kubernetes Explorer exibe os registros.

    Streaming de registros de um pod usando o menu do botão direito do mouse para gerar registros no 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:

  1. 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);
     }
     ```
    
  2. Adicione as importações necessárias para as novas anotações, RequestMapping e ResponseBody.

  3. Salve as mudanças (Ctrl/Cmd+S) ou crie o projeto. Para isso, 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 acessando o novo URL do endpoint: localhost:8080/greeting.

    Como visualizar o endpoint recém-criado em um navegador

  4. Para encerrar a sessão de desenvolvimento contínuo, clique no botão Stop.

    O plug-in exclui todos os recursos do Kubernetes usados na 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. Com o Cloud Code, é possível armazenar esses secrets com segurança no Gerenciador de secrets e buscá-los de maneira programática quando necessário. Para uma visão detalhada de como criar e gerenciar secrets com o Cloud Code, consulte o Guia do Secret Manager.

Como visualizar detalhes do recurso

Para acompanhar o status dos recursos do Kubernetes, use o Kubernetes Explorer, acessível no painel lateral à direita. Também é possível acessar o Kubernetes Explorer em Ferramentas > Cloud Code > Kubernetes > Ver explorador de cluster. de dados.

Painel do Kubernetes Explorer aberto usando a guia na barra de tarefas do lado direito

Com o Kubernetes Explorer, você pode acessar informações sobre osclusters , nós, cargas de trabalho e muito mais e defina umacontexto ativo ,fazer streaming e visualizar registros e olhe para cimadescrições de recursos de dados.

Para exibir os detalhes dos recursos implantados, clique com o botão direito do mouse em um rótulo de recursos no Kubernetes Explorer e, em seguida, clique em Descrever.

Opção de descrição disponível ao clicar com o botão direito do mouse em um recurso apropriado no painel do Kubernetes Explorer e escolher "Descrever"

Configuração

Ao usar as configurações de execução Run on Kubernetes e Develop on Kubernetes, é possível personalizar a implantação definindo as configurações disponíveis. Acesse as opções de configuração selecionando "Run Configuration" na lista suspensa e, em seguida, Edit Configurations.

Opções do Skaffold

  • Configuração do Skaffold: 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 entre as 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 ou fatal. O nível de detalhamento padrão é warn.

Opções do Kubernetes

  • Contexto de implantação: representa o contexto do Kubernetes em que o aplicativo foi implantado. O comportamento padrão, se um contexto de implantação não for especificado, será implantado no contexto atual do sistema, se houver.

    Se preferir não implantar no contexto atual, na seção "Implantação" das configurações de execução/depuração, você pode optar por:

    • Implantar localmente em um cluster do minikube: inicia um cluster do minikube gerenciado pelo Cloud Code para executar o aplicativo e interrompe o cluster após a interrupção da implantação. Se um cluster do minikube já estiver em execução, o Cloud Code usará esse cluster para implantação.
    • Alternar contexto e implantar para: altera o contexto atual no seu sistema para o contexto especificado na implantação.

      Como selecionar o contexto de implantação do Kubernetes em uma configuração do Kubernetes do Cloud Code

  • Delete deployments when finished: 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.

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.

Como receber suporte

Para enviar um feedback ou informar um problema no ambiente de desenvolvimento integrado do IntelliJ, acesse Tools > Cloud Code > Ajuda / Sobre > Envie feedback ou relate um problema no GitHub ou faça uma pergunta no Stack Overflow.

Você também pode participar do canal #cloud-code, que faz parte da comunidade do Google Cloud no Slack.