Implemente uma app Kubernetes com o Cloud Code para VS Code

Esta página mostra-lhe como começar rapidamente a usar o Cloud Code.

Vai configurar uma nova aplicação Kubernetes com uma aplicação de exemplo "Hello World", criar um cluster, executar a sua app neste cluster, depurar o código em execução, ver registos da sua aplicação em direto e ligar um terminal ao seu contentor 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 (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

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

  4. 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

  5. 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 (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

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

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

  8. Instale o Git. O Git é necessário para copiar exemplos para o seu computador.
  9. Instale o plug-in Cloud Code se ainda não o fez.

Criar uma aplicação

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

  2. Escolha Aplicação Kubernetes.

  3. Escolha uma app Hello World no idioma da sua preferência.

    Por exemplo, escolher Node.js: Hello World cria uma app Hello World Node.js inicial.

  4. Guarde a nova aplicação.

    Uma notificação confirma que a candidatura foi criada e é aberta uma nova janela com a candidatura.

Crie um cluster do GKE

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

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

  2. Clique em adicionar Adicionar um cluster ao KubeConfig e, de seguida, clique em Google Kubernetes Engine no menu Seleção rápida.

  3. Quando lhe for pedido para ativar container.googleapis.com, selecione Sim.

  4. Clique em + Criar um novo cluster do GKE.

  5. Escolha Padrão como tipo de cluster.

  6. Clique em Abrir para permitir que o Cloud Code abra a consolaGoogle Cloud .

  7. Na Google Cloud consola, use o projeto que criou, defina a zona como us-central1-a e defina o nome do cluster como my-first-cluster.

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

  9. Depois de criar o cluster, no menu Seleção rápida, clique em atualizar Atualizar.

  10. Depois de o nome do novo cluster aparecer na lista, clique no nome do cluster. O novo cluster é adicionado à configuração e configurado para ser o contexto ativo.

Execute e veja a sua app

Agora que está tudo configurado, pode executar a aplicação e vê-la em direto. O Cloud Code monitoriza o seu sistema de ficheiros para detetar alterações, de modo que possa editar e voltar a executar a sua app praticamente em tempo real.

Para executar a aplicação, siga estes passos:

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

    Nome do projeto ativo na barra de estado

  2. No menu de seleção rápida apresentado, selecione Executar no Kubernetes.

  3. Confirme se quer usar o contexto do cluster atual ou mudar para um diferente.

  4. Se lhe for pedido, escolha um registo de imagens para enviar as imagens. Se estiver a criar um novo registo de imagens com gcr.io/PROJECT_ID, certifique-se de que o registo de imagens está no mesmo projeto que o cluster.

    É apresentada uma janela de saída onde pode acompanhar o progresso da sua aplicação em execução. Também vê uma stream em direto dos registos dos pods em execução no resultado do terminal.

  5. Depois de a aplicação estar em execução no Kubernetes, a janela de saída apresenta um endereço IP. Para usar este endereço IP associado para aceder à sua aplicação, prima Ctrl/Cmd e clique no endereço.

Sugestões de resolução de problemas

Se estiver a usar um cluster pré-existente, para definir o cluster como ativo e obter as credenciais do cluster, siga estes passos:

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

  2. Clique com o botão direito do rato no nome do cluster e, de seguida, clique em Definir como cluster ativo.

Depure a sua app

Para depurar a sua aplicação, siga estes passos:

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

    Nome do projeto ativo na barra de estado

  2. No menu de seleção rápida apresentado, selecione Depurar no Kubernetes.

  3. Se lhe for pedido, autentique as suas credenciais para executar e depurar uma aplicação localmente.

  4. Se lhe for pedido, confirme se quer usar o contexto do cluster atual ou mudar para um contexto preferencial.

    O Cloud Code usa as configurações cloudcode.kubernetes no seu ficheiro .vscode/launch.json para executar a sua aplicação e anexar-lhe uma sessão de depuração.

    O Cloud Code cria os seus contentores, envia-os para o registo, aplica configurações do Kubernetes ao cluster e devolve o endereço IP que pode usar para procurar a sua aplicação em direto.

  5. Antes de a sessão do depurador ser anexada, é-lhe pedido que confirme ou introduza o diretório no contentor remoto onde o programa a depurar se encontra, ou prima ESC para ignorar a depuração do contentor.

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

    Os círculos preenchidos a vermelho significam pontos de interrupção ativos, enquanto os círculos vazios a cinzento significam pontos de interrupção desativados. Para um controlo mais preciso dos breakpoints, pode usar a secção Breakpoints na vista Debug do VS Code.

    Secção de pontos de interrupção no painel do lado esquerdo da vista de depuração que permite adicionar, remover e desativar pontos de interrupção

    Quando envia um novo pedido à sua aplicação, o depurador pausa no primeiro ponto de interrupção ativo.

    No exemplo seguinte, em Local na secção Variáveis, repare que o valor de res._contentLength; para Hello, world! é 13.

    A app foi pausada no ponto de interrupção e as secções de variáveis e pilha de chamadas foram preenchidas com valores no âmbito

  7. Edite a string que está a ser enviada na linha 8 para Hello, goodbye! e, em seguida, reinicie a ação Depurar no Kubernetes.

    Depois de a app ser recriada e reimplementada, tome nota do valor atualizado de res._contentLength.

    A app foi pausada no ponto de interrupção com valores atualizados

Depois de iniciar a sessão de depuração, o painel Sessões de desenvolvimento apresenta a vista de registo estruturado. Quando uma tarefa começa, é apresentada com um semicírculo rotativo progress_activity.

Se uma tarefa for bem-sucedida, é apresentada uma marca de verificação check_circle junto ao passo.

Para ver os detalhes de um passo, clique no passo no painel Sessão de desenvolvimento. O painel Output apresenta o passo na saída de registo.

Abra um terminal no contentor

Para abrir um terminal no contentor, siga estas instruções:

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

  2. Expanda as seguintes secções:

    • A secção do cluster preferido
    • A secção Namespaces e, de seguida, a secção do namespace preferido
    • A secção Pods e, em seguida, a secção do seu pod preferido
    • A secção Contentores

      Pods do Cloud Code

  3. Clique com o botão direito do rato no contentor no qual quer abrir um terminal e, de seguida, clique em Obter terminal.

    Esta ação inicia um terminal. Agora, tem acesso a uma shell no contentor em execução.

Limpar

Depois de parar a aplicação, todos os recursos do Kubernetes implementados durante a execução são eliminados automaticamente.

Para evitar incorrer em custos para a sua conta por outros recursos usados neste início rápido, certifique-se de que elimina o projeto ou o cluster que criou se quiser reutilizar o projeto.

Para eliminar o cluster:

  1. Clique em Cloud Code e, de seguida, expanda o explorador Kubernetes.
  2. Passe o ponteiro do rato sobre o nome do cluster e, de seguida, clique em open_in_new Abrir na Google Cloud consola.
  3. Clique em Eliminar e, de seguida, em Eliminar.

Para eliminar o seu projeto (e os recursos associados, incluindo todos 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.

O que se segue?