Implantar um app do Kubernetes com o Cloud Code para IntelliJ

Saiba como usar o Cloud Code para IntelliJ para implantar seu primeiro aplicativo do Kubernetes.

Neste guia de início rápido, você vai configurar um novo aplicativo do Kubernetes usando um modelo inicial "Hello World", executar o app em um cluster, configurar a recriação contínua para desenvolver o app de forma iterativa, depurar o código em execução e visualizar registros de streaming do aplicativo ativo.

Recomendamos usar Google Cloud para este guia, mas você pode usar o Cloud Code com um cluster local usando ferramentas como minikube e Docker Desktop. No entanto, recursos como a criação de clusters ativos do GKE e a entrega contínua integrada funcionam melhor com um projetoGoogle Cloud .

Antes de começar

Se você optar por usar um cluster local ou hospedado na nuvem, siga estas etapas para concluir este início rápido:

  1. Instale o Git. O Git é necessário para copiar exemplos de código na sua máquina.
  2. Instale o Docker. O Docker é necessário para criar o exemplo de código. Verifique se a conta de usuário local pode criar contêineres.
  3. Instale o plug-in do Cloud Code se ainda não tiver feito isso.

Para concluir este guia de início rápido usando Google Cloud, siga estas etapas:

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Se este guia estiver usando um projeto atual, verifique se você tem as permissões necessárias para concluir o guia. Se você criou um projeto, já tem as permissões necessárias.

  4. Verify that billing is enabled for your Google Cloud project.

  5. Enable the Google Kubernetes Engine API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  6. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  7. Se este guia estiver usando um projeto atual, verifique se você tem as permissões necessárias para concluir o guia. Se você criou um projeto, já tem as permissões necessárias.

  8. Verify that billing is enabled for your Google Cloud project.

  9. Enable the Google Kubernetes Engine API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  10. Funções exigidas

    Para receber as permissões necessárias para concluir este início rápido usando Google Cloud, peça ao administrador para conceder a você o papel do IAM de Administrador do Kubernetes Engine (roles/container.admin) no projeto. Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

    Também é possível conseguir as permissões necessárias usando papéis personalizados ou outros papéis predefinidos.

Criar um aplicativo

O Cloud Code vem com uma coleção de modelos de exemplo de código para você começar. Para criar um novo aplicativo usando uma amostra existente:

  1. No seu IDE, abra Arquivo e Novo projeto e selecione Cloud Code: Kubernetes.

  2. Selecione um modelo "Hello World" na lista de aplicativos iniciais. Lista de modelos disponíveis: Python, Go, NodeJS, Java hello world e aplicativos de livro de visitas

  3. Escolha um nome para seu projeto.

    Depois de clicar em Concluir, o Cloud Code clonará o modelo escolhido e abrirá o projeto recém-criado para uso.

    Para modelos Java, você precisa importar os projetos Maven necessários para sincronizar seu pom.xml. Clique em Adicionar como projeto Maven e em Importar alterações.

Escolher um cluster

Para desenvolver seu aplicativo, você precisará de um cluster do Kubernetes associado, hospedado localmente com o minikube ou uma plataforma de nuvem, como um cluster do Google Kubernetes Engine.

Cluster local

Se você ainda não tiver um cluster para usar neste guia de início rápido, poderá executar o aplicativo com um cluster minikube local gerenciado pelo Cloud Code. O Cloud Code inicia um cluster minikube para executar seu aplicativo e o interrompe quando a implantação é interrompida. Se um cluster do minikube já estiver em execução, o Cloud Code reutilizará esse cluster para implantação.

Você pode optar por usar esse cluster do Cloud Code gerenciado pelo Cloud Code na próxima etapa, o desenvolvimento do aplicativo, definindo-o como sua preferência de implantação.

Cluster baseado no Cloud Platform

Se você já tiver um cluster configurado para trabalhar com ferramentas do Kubernetes, como kubectl, que possa ser usado neste guia de início rápido, o Cloud Code fará a implantação nele automaticamente. Prossiga para desenvolver seu aplicativo e confirme que o cluster de sua preferência está definido como o contexto atual.

Se não tiver, crie uma usando as instruções específicas da plataforma da nuvem. Para o GKE, siga o guia Como criar um cluster.

Desenvolver o aplicativo

Para iniciar o desenvolvimento do aplicativo no Kubernetes:

  1. Se você estiver executando em um cluster hospedado em uma plataforma de nuvem, defina onde suas imagens de contêiner estão armazenadas para Desenvolver no Kubernetes.

    Se você tiver feito login no Google Cloud no seu ambiente de desenvolvimento integrado e tiver um projeto padrão definido, o Cloud Code usará automaticamente o repositório de imagens de contêiner padrão (gcr.io/{project_id}, em que {project_id} faz referência ao seu projeto padrão).

  2. Verifique se o contexto preferencial do Kubernetes está definido. Isso pode ser especificado na configuração do Develop no Kubernetes (acessível em Executar > Editar configurações > Desenvolver no Kubernetes). na guia "Executar" e na seção "Preferências de implantação".

    É possível implantar em um contexto atual (padrão), localmente em um cluster minikube ou em outro contexto disponível.

    Por padrão, o aplicativo Kubernetes é executado no modo sob demanda com a opção Sob demanda selecionada. Se preferir, você pode selecionar a opção Salvar no arquivo.

  3. Escolha o destino de execução Develop on Kubernetes no seletor de configuração Run/Debug na barra de navegação.

    Configurações de execução de implantação do Kubernetes

    Isso garante que todas as alterações de código sejam criadas, enviadas e implantadas automaticamente em uma nova versão do aplicativo.

  4. Para iniciar o ciclo de desenvolvimento no cluster do Kubernetes, clique na ação de execução Desenvolver no Kubernetes.

  5. Na guia Registros da janela de saída, veja os registros de aplicativos recebidos.

    Depois que a implantação for iniciada, você verá a lista de portas encaminhadas para o aplicativo implantado.

  6. Quando a implantação for bem-sucedida, você receberá uma notificação de que novos URLs de serviço estarão disponíveis. Clique na guia URLs do serviço para visualizar os URLs e, em seguida, clique no link do 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.

    O painel Recursos implantados mostra o que você implantou durante a sessão de desenvolvimento.

Depurar o aplicativo

O Cloud Code é compatível com a aplicação de alterações durante a depuração.

Para depurar seu aplicativo, faça o seguinte:

  1. Clique na ação de depuração Ícone de ação de depuração para Desenvolver no Kubernetes e iniciar o ciclo de desenvolvimento no modo de depuração no cluster do Kubernetes.

    Como iniciar o ciclo de desenvolvimento do cluster do Kubernetes no modo de depuração

  2. O Cloud Code anexará uma sessão de depuração. Quando a operação for concluída, a janela da ferramenta de depuração será aberta, confirmando a conexão (na guia "Console").

    Agora é possível depurar no cluster ativo do Kubernetes.

  3. Clique na divisão na linha executável do código em que você quer adicionar um ponto de interrupção.

    Os círculos preenchidos em vermelho indicam pontos de interrupção ativos, enquanto os círculos vazios destacados em vermelho indicam pontos de interrupção desativados.

  4. Quando você envia uma nova solicitação ao aplicativo, ela é interrompida nessa linha escolhida.

    Sessão do depurador do Kubernetes

  5. Para encerrar a sessão de depuração, clique no ícone de parada na configuração de execução do Develop on Kubernetes.

Como visualizar registros

Além de ver uma transmissão ao vivo dos registros dos pods em execução 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. Ele pode ser acessado no painel lateral à direita ou usando Ferramentas > Cloud Code > Kubernetes > Visualizar o Cluster Explorer.

    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 selecione Registros de stream. Como alternativa, é possível transmitir registros de contêineres individuais executados em pods.

    Isso gera registros para o console do Kubernetes Explorer.

    Streaming de registros de um pod usando o menu do botão direito do mouse para gerar registros no Console do Kubernetes Explorer

Limpar

Para evitar cobranças na conta do Google Cloud pelos recursos usados nesta página, siga as etapas abaixo.

  1. Acesse a página Projetos no console do Google Cloud :

    Acessar a página "Projetos"

  2. Selecione o projeto que você criou neste guia de início rápido e clique no ícone de lixeira ao lado para excluí-lo.

    Isso encerrará o projeto e programará a remoção dele.

A seguir