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

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

Você configurará um novo aplicativo do Kubernetes usando um aplicativo de amostra "Hello World", criará um cluster, executará seu aplicativo nesse cluster, 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.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Google Kubernetes Engine API.

    Enable the API

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

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Google Kubernetes Engine API.

    Enable the API

  8. Instale o Git. O Git é necessário para copiar amostras na sua máquina.
  9. Instale o plug-in do Cloud Code, caso ainda não tenha feito isso.

Como 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. Selecione 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.

Crie 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 adicionar Adicionar um cluster ao KubeConfig e, em seguida, clique em Google Kubernetes Engine no menu Seleção rápida.

  3. Quando solicitado a ativar container.googleapis.com, selecione Sim.

  4. Clique em + Criar um novo 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 do Google Cloud.

  7. No console do Google Cloud, use o projeto criado, defina a zona como us-central1-a e o nome do cluster como my-first-cluster.

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

  9. Depois que o cluster for criado, no menu Escolha rápida, clique em Atualizar Atualizar.

  10. Depois que o nome do novo cluster aparecer na lista, clique no nome dele. 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 o sistema de arquivos em busca de alterações para que você possa editar e executar o aplicativo novamente 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 de escolha rápida que é exibido, 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 o registro de imagem está no mesmo projeto que o cluster.

    Uma janela de saída será exibida para acompanhar o andamento do aplicativo em execução. Também é possível ver uma transmissão ao vivo dos registros dos pods em execução na saída do terminal.

  5. Depois que o aplicativo estiver em execução no Kubernetes, a janela de saída exibirá um endereço IP. Para usar esse endereço IP vinculado para acessar seu aplicativo, pressione Ctrl/Cmd e clique no endereço.

Dicas de solução de problemas

Se você estiver usando um cluster atual, siga estas etapas para defini-lo como ativo e receber as credenciais dele:

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

  2. Clique com o botão direito do mouse no nome do cluster e depois 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 de seleção rápida que é exibido, 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 que está sendo enviada in-line no 8 para Hello, goodbye! e reinicie a ação Debug on 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

Após o início da sessão de depuração, o painel Sessões de desenvolvimento exibe a visualização de geração de registros estruturados. Quando uma tarefa é iniciada, ela aparece com um semicírculo progress_activity,

Se uma tarefa for bem-sucedida, uma marca de seleção check_circle 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 seu 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. Expanda as seguintes seções:

    • Seção do cluster da sua preferência
    • A seção Namespaces e a seção do namespace de sua preferência
    • A seção Pods e a seção do pod da sua preferência
    • Na 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 de interromper o 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 você quiser reutilizar o projeto.

Para excluir o cluster, siga estas etapas:

  1. Clique em Cloud Code e expanda o explorador Kubernetes.
  2. Mantenha o ponteiro do mouse sobre o nome do cluster e clique em open_in_new Abrir no console do Google Cloud.
  3. Clique em Excluir e 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