Implantar um app do Kubernetes com o Cloud Code para VS Code

Esta página mostra como iniciar rapidamente com o Cloud Code.

Você vai configurar um novo aplicativo do Kubernetes usando um exemplo de aplicativo "Hello World", criar um cluster, executar o app nele, depurar o código em execução, visualizar os registros do aplicativo ativo e conectar um terminal ao contêiner em execução.

Antes de começar

  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. Instale o Git. O Git é necessário para copiar amostras na sua máquina.
  11. Instale o Docker. O Docker é necessário para criar o exemplo de código. Verifique se a conta de usuário local consegue criar contêineres.
  12. Instale o plug-in do Cloud Code se ainda não tiver feito isso.
  13. Funções exigidas

    Para receber as permissões necessárias para concluir este início rápido, 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

  1. Abra a paleta de comandos (pressione Ctrl/Cmd+Shift+P ou clique em Visualizar > Paleta de comandos) e execute Cloud Code: New Application.

  2. Escolha Aplicativo do Kubernetes.

  3. Escolha um app "Hello World" no idioma que preferir.

    Por exemplo, escolher Node.js: Hello World cria um aplicativo inicial Hello World do Node.js.

  4. Salve o novo aplicativo.

    Uma notificação confirmará que seu aplicativo foi criado e que uma nova janela será aberta.

Criar um cluster do GKE

Para criar um cluster padrão do Google Kubernetes Engine (GKE), siga estas etapas:

  1. Clique em Cloud Code e expanda a seção Kubernetes.

  2. Clique em add Adicionar um cluster ao KubeConfig e em Google Kubernetes Engine no menu Seleção rápida.

  3. Quando for solicitado que você ative a API de contêineres, selecione Sim.

  4. Clique em + Criar um cluster do GKE.

  5. Escolha Padrão como o tipo de cluster.

  6. Clique em Abrir para permitir que o Cloud Code abra o console Google Cloud .

  7. No console Google Cloud , verifique se o projeto selecionado é o que você criou ou escolheu anteriormente.

  8. Defina o nome do cluster como my-first-cluster.

  9. Selecione Zonal como o tipo de local e defina a zona como us-central1-a.

  10. Clique em Criar. A criação do cluster leva alguns minutos.

  11. Depois que o cluster for criado, clique em Adicionar um cluster ao KubeConfig de novo e selecione na lista o cluster que você acabou de criar.

  12. Seu novo cluster é adicionado à configuração e configurado para ser o contexto ativo.

Executar e ver o app

Agora que está tudo pronto, você pode executar seu app e visualizá-lo ativo. O Cloud Code monitora seu sistema de arquivos em busca de mudanças para que você possa editar e executar o app quase em tempo real.

Para executar seu aplicativo, siga estas etapas:

  1. Na barra de status do Cloud Code, clique no nome do projeto ativo.

    Nome do projeto ativo na barra de status

  2. No menu "Escolha rápida" que aparece, selecione Executar no Kubernetes. Quando solicitado novamente, selecione Executar no Kubernetes.

  3. Confirme se quer usar o contexto do cluster atual ou alternar para outro.

  4. Se solicitado, escolha um registro de imagem para enviar as imagens. Se você estiver criando um novo registro de imagem usando gcr.io/PROJECT_ID, verifique se ele está no mesmo projeto que o cluster.

  5. Depois que o aplicativo estiver em execução no Kubernetes, clique na entrada Status da tarefa Executar no Kubernetes na seção Sessões de desenvolvimento. Uma janela será aberta com uma guia Saída que inclui o URL do seu aplicativo. Para abrir esse URL, pressione Control (ou Command no macOS) e clique no endereço.

    Também é possível encontrar o aplicativo na Visão geral das cargas de trabalho no console do Google Cloud . Para mais informações sobre o aplicativo em execução, incluindo o endereço IP externo e o número da porta, clique no nome dele na lista.

Dicas de solução de problemas

Se você estiver usando um cluster preexistente, siga estas etapas para definir o cluster como ativo e receber as credenciais dele:

  1. No VS Code, clique em Cloud Code e abra a seção Kubernetes.

  2. Clique com o botão direito do mouse no nome do cluster e clique em Definir como cluster ativo.

Depurar o app

Para depurar o aplicativo, siga estes passos:

  1. Na barra de status do Cloud Code, clique no nome do projeto ativo.

    Nome do projeto ativo na barra de status

  2. No menu "Escolha rápida" que aparece, selecione Depurar no Kubernetes.

  3. Se solicitado, autentique suas credenciais para executar e depurar um aplicativo localmente.

  4. Se solicitado, confirme se quer usar o contexto do cluster atual ou mudar para um preferido.

    O Cloud Code usa as configurações cloudcode.kubernetes no arquivo .vscode/launch.json para executar seu aplicativo e anexar uma sessão do depurador a ele.

    Em seguida, o Cloud Code cria seus contêineres, os envia para o registro, aplica as configurações do Kubernetes ao cluster e retorna o endereço IP que pode ser usado para navegar no aplicativo ativo.

  5. Antes de anexar a sessão de depuração, você precisará confirmar ou inserir o diretório no contêiner remoto em que o programa será encontrado ou pressionar ESC para pular a depuração.

  6. Para adicionar um ponto de interrupção à linha no 9, abra o src/app.js e clique na margem do editor.

    Os círculos preenchidos em vermelho indicam pontos de interrupção ativos, enquanto os círculos vazios em cinza indicam pontos de interrupção desativados. Para um controle mais preciso do ponto de interrupção, use a seção Pontos de interrupção na visualização de depuração do VS Code.

    Seção "Pontos de interrupção" no painel esquerdo da Visualização de depuração que permite adicionar, remover e desativar pontos de interrupção

    Quando você envia uma nova solicitação ao aplicativo, o depurador é pausado no primeiro ponto de interrupção ativo.

    No exemplo a seguir, em Local na seção Variáveis, observe que o valor de res._contentLength; para Hello, world! é 13.

    Aplicativo pausado no ponto de interrupção e seções de pilha de chamadas e variáveis preenchidas com valores no escopo

  7. Edite a string enviada na linha 8 a Hello, goodbye! e reinicie a ação Debug no Kubernetes.

    Depois que o app for recriado e reimplantado, anote o valor atualizado de res._contentLength.

    App pausado no ponto de interrupção com valores atualizados

Depois que a sessão de depuração for iniciada, o painel Sessões de desenvolvimento vai mostrar a visualização de geração de registros estruturada. Quando uma tarefa começa, ela aparece com um semicírculo girando progress_activity.

Se uma tarefa for concluída, uma marca de seleção check_circle vai aparecer ao lado da etapa.

Para ver detalhes de uma etapa, clique nela no painel Sessão de desenvolvimento. O painel "Saída" exibe a etapa na geração de registros.

Abra um terminal no contêiner

Para abrir um terminal no contêiner, siga estas instruções:

  1. Clique em Cloud Code e expanda a seção Kubernetes.

  2. Abra as seguintes seções:

    • A seção do cluster preferido
    • A seção Namespaces e depois a seção do namespace de sua preferência
    • A seção Podcasts e depois a seção do seu podcast preferido
    • A seção Contêineres

      Pods do Cloud Code

  3. Clique com o botão direito do mouse no contêiner em que você quer abrir um terminal e clique em Get Terminal.

    Isso inicia um terminal. Agora você tem acesso a um shell dentro do contêiner em execução.

Limpar

Depois do encerramento do aplicativo, todos os recursos do Kubernetes implantados durante a execução são excluídos automaticamente.

Para evitar cobranças na sua conta por outros recursos usados neste guia de início rápido, exclua o projeto ou o cluster criado se quiser reutilizar o projeto.

Para excluir o cluster, siga estas etapas:

  1. Clique em Cloud Code e expanda o explorador do Kubernetes.
  2. Mantenha o cursor sobre o nome do cluster e clique em open_in_new Abrir no console do Google Cloud .
  3. Clique em Excluir e, novamente, em Excluir.

Para excluir o projeto (e os recursos associados, incluindo os clusters):

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

A seguir