Instruções e requisitos de configuração do laboratório
Proteja sua conta e seu progresso. Sempre use uma janela anônima do navegador e suas credenciais para realizar este laboratório.

Desenvolvimento de aplicativos: como implantar aplicativos no Kubernetes Engine: Node.js

Laboratório 2 horas universal_currency_alt 5 créditos show_chart Introdutório
info Este laboratório pode incorporar ferramentas de IA para ajudar no seu aprendizado.
Este conteúdo ainda não foi otimizado para dispositivos móveis.
Para aproveitar a melhor experiência, acesse nosso site em um computador desktop usando o link enviado a você por e-mail.

Informações gerais

Neste laboratório, você vai implantar o aplicativo de teste no Kubernetes Engine (conhecido anteriormente como Container Engine) usando os recursos do Google Cloud Platform, como o Cloud Build e o Container Registry, além dos recursos do Kubernetes, como implantações, pods e serviços.

Objetivos

Neste laboratório, você aprenderá a realizar as seguintes tarefas:

  • Criar Dockerfiles para empacotar o código de front-end e back-end do aplicativo de teste para implantação.
  • Usar o Cloud Build para produzir imagens Docker.
  • Provisionar um cluster do Kubernetes Engine para hospedar o aplicativo de teste.
  • Usar implantações do Kubernetes para provisionar pods replicados no Kubernetes Engine.
  • Usar um serviço do Kubernetes para provisionar um balanceador de carga para o front-end do teste.

Configuração e requisitos

Para cada laboratório, você recebe um novo projeto do Google Cloud e um conjunto de recursos por um determinado período e sem custos financeiros.

  1. Faça login no Qwiklabs em uma janela anônima.

  2. Confira o tempo de acesso do laboratório (por exemplo, 1:15:00) e finalize todas as atividades nesse prazo.
    Não é possível pausar o laboratório. Você pode reiniciar o desafio, mas vai precisar refazer todas as etapas.

  3. Quando tudo estiver pronto, clique em Começar o laboratório.

  4. Anote as credenciais (Nome de usuário e Senha). É com elas que você vai fazer login no Console do Google Cloud.

  5. Clique em Abrir Console do Google.

  6. Clique em Usar outra conta, depois copie e cole as credenciais deste laboratório nos locais indicados.
    Se você usar outras credenciais, vai receber mensagens de erro ou cobranças.

  7. Aceite os termos e pule a página de recursos de recuperação.

Ative o Google Cloud Shell

O Google Cloud Shell é uma máquina virtual com ferramentas de desenvolvimento. Ele tem um diretório principal permanente de 5 GB e é executado no Google Cloud.

O Cloud Shell oferece acesso de linha de comando aos recursos do Google Cloud.

  1. No console do Cloud, clique no botão "Abrir o Cloud Shell" na barra de ferramentas superior direita.

    Ícone do Cloud Shell em destaque

  2. Clique em Continuar.

O provisionamento e a conexão do ambiente podem demorar um pouco. Quando você estiver conectado, já estará autenticado, e o projeto estará definido com seu PROJECT_ID. Exemplo:

ID do projeto em destaque no terminal do Cloud Shell

A gcloud é a ferramenta de linha de comando do Google Cloud. Ela vem pré-instalada no Cloud Shell e aceita preenchimento com tabulação.

  • Para listar o nome da conta ativa, use este comando:
gcloud auth list

Saída:

Credentialed accounts: - @.com (active)

Exemplo de saída:

Credentialed accounts: - google1623327_student@qwiklabs.net
  • Para listar o ID do projeto, use este comando:
gcloud config list project

Saída:

[core] project =

Exemplo de saída:

[core] project = qwiklabs-gcp-44776a13dea667a6 Observação: a documentação completa da gcloud está disponível no guia com informações gerais sobre a gcloud CLI .

Tarefa 1: preparar o aplicativo de estudo de caso

Nesta seção, você vai acessar o Cloud Shell, clonar o repositório git que contém o aplicativo de teste, definir as variáveis de ambiente e executar o app.

Clone o código-fonte no Cloud Shell

  1. No Cloud Shell, clone o repositório da classe:
git clone --depth=1 https://github.com/GoogleCloudPlatform/training-data-analyst
  1. Crie um link flexível como atalho para o diretório de trabalho:
ln -s ~/training-data-analyst/courses/developingapps/v1.3/nodejs/containerengine ~/containerengine

Configure o aplicativo do estudo de caso e revise o código

  1. Mude o diretório de trabalho:
cd ~/containerengine/start
  1. Para substituir a região padrão em um arquivo pela região atribuída pelo laboratório, execute os seguintes comandos:
export APP_REGION={{{project_0.startup_script.app_gcp_region | APP_REGION}}} export REGION={{{project_0.default_region | REGION}}} sed -i 's/us-central1/'"$REGION"'/g' prepare_environment.sh sed -i 's/us-central/'"$APP_REGION"'/g' prepare_environment.sh
  1. Configure o aplicativo de teste:
. prepare_environment.sh Observação: este arquivo de script:

  • Cria um aplicativo do Google App Engine.
  • Exporta as variáveis de ambiente GCLOUD_PROJECT e GCLOUD_BUCKET.
  • Executa npm install.
  • Cria entidades no Google Cloud Datastore.
  • Cria um tópico do Google Cloud Pub/Sub.
  • Cria uma instância, um banco de dados e uma tabela do Cloud Spanner.
  • Mostra o ID do projeto do Google Cloud Platform.
  1. No Cloud Shell, clique em Abrir editor.
  2. Navegue até containerengine/start.
Observação: a estrutura de pastas do aplicativo de teste muda para refletir como ele é implantado no Kubernetes Engine.

O aplicativo da Web está em uma pasta chamada frontend.

O código do aplicativo do worker que se registra no Cloud Pub/Sub e processa mensagens está na pasta backend.

Arquivos de configuração para o Docker (um Dockerfile nas pastas frontend e backend) e para o Kubernetes Engine (\*.yaml) estão presentes.

Clique em Verificar meu progresso para conferir o objetivo. Configure o aplicativo do estudo de caso

Tarefa 2: criar um cluster do Kubernetes Engine

Nesta seção, você vai criar um cluster do Kubernetes Engine para hospedar o aplicativo de teste.

Crie um cluster do Kubernetes Engine

  1. No menu de navegação do console do Cloud Platform, clique em APIs e serviços.

  2. Role para baixo na lista de APIs ativadas e confirme se as duas APIs abaixo aparecem:

    • API Kubernetes Engine
    • API Google Container Registry

Se você não encontrar uma das APIs, clique em + ATIVAR APIS E SERVIÇOS na parte de cima da tela. Procure essas APIs por nome e ative cada uma para o projeto atual. Você anotou o nome do projeto do GCP acima.

  1. No menu de navegação do console do Cloud Platform, clique em Kubernetes Engine > Clusters.
  2. Clique em Criar.
  3. Clique em Vamos começar e depois em Mudar para o cluster padrão.
  4. Configure o cluster usando a tabela a seguir:
Propriedade Valor
Nome quiz-cluster
Tipo de local Zonal
Zona
Na área Pools de nós, clique em default-pool Na área Segurança > Escopos de acesso, selecione Permitir acesso completo a todas as APIs do Cloud
  1. Clique em Criar.
Observação: o cluster leva alguns minutos para ser provisionado.

Clique em Verificar meu progresso para conferir o objetivo. Crie um cluster do Kubernetes Engine

Conecte-se ao cluster

  1. Depois que o cluster estiver pronto, clique nos três pontos verticais à direita e em Conectar.

  2. Para preencher o Cloud Shell com o comando de conexão, em Conexão ao cluster, clique em Executar no Cloud Shell. O comando será parecido com este:

gcloud container clusters get-credentials quiz-cluster --zone {{{project_0.default_zone|ZONE}}} --project {{{project_0.project_id|Project ID}}}
  1. Pressione ENTER para executar o comando no Cloud Shell.

  2. Liste os pods no cluster.

kubectl get pods Observação: a resposta deve indicar que não há pods no cluster.

Isso confirma que você configurou a segurança para que a ferramenta de linha de comando kubectl execute operações no cluster.

Tarefa 3: criar imagens Docker usando o Cloud Build

Nesta seção, você vai criar um Dockerfile para o front-end e back-end do aplicativo e usar o Cloud Build para criar imagens e armazená-las no Container Registry.

Crie o Dockerfile para o front-end e o back-end

  1. No editor de código do Cloud Shell, abra o frontend/Dockerfile.
  2. Depois do texto existente, digite os comandos do Dockerfile para iniciar a criação de uma imagem Docker personalizada usando a imagem do App Engine do Google em Node.js como ponto de partida.
Observação: você vai usar a imagem gcr.io/google_appengine/nodejs.
  1. Adicione o comando do Dockerfile para copiar o conteúdo da pasta atual para uma pasta de destino na imagem /app/.
  2. Adicione o comando do Dockerfile para executar npm install -g npm@8.1.3 como parte do processo de criação para garantir que o contêiner execute uma versão compatível do npm para o aplicativo.
  3. Adicione o comando do Dockerfile para executar npm update.
  4. Conclua o Dockerfile digitando a instrução npm start, que é ativada quando o contêiner é executado:

...frontend/Dockerfile

FROM gcr.io/google_appengine/nodejs RUN /usr/local/bin/install_node '>=0.12.7' COPY . /app/ RUN npm install -g npm@8.1.3 --unsafe-perm || \ ((if [ -f npm-debug.log ]; then \ cat npm-debug.log; \ fi) && false) RUN npm update CMD npm start
  1. Salve o Dockerfile.
  2. Repita as etapas anteriores para o arquivo backend/Dockerfile:

...backend/Dockerfile

FROM gcr.io/google_appengine/nodejs RUN /usr/local/bin/install_node '>=0.12.7' COPY . /app/ RUN npm install -g npm@8.1.3 --unsafe-perm || \ ((if [ -f npm-debug.log ]; then \ cat npm-debug.log; \ fi) && false) RUN npm update CMD npm start
  1. Salve o segundo Dockerfile.

Crie imagens Docker com o Cloud Build

  1. No Cloud Shell, crie a imagem Docker do front-end:
gcloud builds submit -t gcr.io/$DEVSHELL_PROJECT_ID/quiz-frontend ./frontend/ Observação: os arquivos são organizados no Cloud Storage, e uma imagem Docker é criada e armazenada no Container Registry. Isso levará alguns minutos.
  1. Crie a imagem de back-end do Docker:
gcloud builds submit -t gcr.io/$DEVSHELL_PROJECT_ID/quiz-backend ./backend/
  1. No menu de navegação do console do Cloud Platform, clique em Artifact Registry.
Observação: dois itens serão mostrados: quiz-frontend e quiz-backend.
  1. Clique no repositório gcr.io.

  2. Clique em quiz-frontend.

Observação: o nome da imagem, as tags (mais recentes) e o tamanho (cerca de 275 MB) serão mostrados.

Tarefa 4: criar a implantação do Kubernetes e recursos do serviço

Nesta seção, você vai modificar os arquivos de modelo yaml, que contêm a especificação dos recursos de implantação e serviço do Kubernetes, e criar os recursos no cluster do Kubernetes Engine.

Crie um arquivo de implantação do Kubernetes

  1. No editor de código do Cloud Shell, abra o arquivo frontend-deployment.yaml.
Observação: o esqueleto do arquivo já foi criado para você. Agora substitua os marcadores de posição pelos valores do projeto.
  1. Substitua os marcadores no arquivo frontend-deployment.yaml usando os seguintes valores:

Nome do marcador de posição

Valor

[GCLOUD_PROJECT]

ID do projeto do GCP
(exiba o ID do projeto digitando
echo $GCLOUD_PROJECT no Cloud Shell)

[GCLOUD_BUCKET]

Nome do bucket do Cloud Storage para o bucket de mídia do projeto
(exiba o nome do bucket digitando
echo $GCLOUD_BUCKET no Cloud Shell)

[FRONTEND_IMAGE_IDENTIFIER]

A imagem de front-end identificada no formulário gcr.io/[Project_ID]/quiz-frontend

Observação: a implantação do "quiz-frontend" provisiona três réplicas da imagem Docker de front-end nos pods do Kubernetes, distribuídas nos três nós do cluster do Kubernetes Engine.
  1. Salve o arquivo.
  2. Substitua os marcadores de posição no arquivo backend-deployment.yaml pelos seguintes valores:

Nome do marcador de posição

Valor

[GCLOUD_PROJECT]

ID do projeto do GCP

[GCLOUD_BUCKET]

ID do bucket do Cloud Storage para o bucket de mídia do projeto

[BACKEND_IMAGE_IDENTIFIER]

A imagem de back-end identificada no formulário gcr.io/[Project_ID]/quiz-backend

Observação: a implantação do "quiz-backend" provisiona duas réplicas da imagem de back-end do Docker nos pods do Kubernetes, distribuídas em dois dos três nós do cluster do Kubernetes Engine.
  1. Salve o arquivo.
  2. Revise o conteúdo do arquivo frontend-service.yaml.
Observação: o serviço mostra a implantação do front-end usando um balanceador de carga, que envia solicitações de clientes para as três réplicas do pod de front-end.

Execute os arquivos de implantação e serviço

  1. No Cloud Shell, provisione a implantação do front-end do teste:
kubectl create -f ./frontend-deployment.yaml
  1. Provisione a implantação do back-end de teste:
kubectl create -f ./backend-deployment.yaml
  1. Provisione o serviço do front-end de teste:
kubectl create -f ./frontend-service.yaml Observação: cada comando provisiona recursos no Kubernetes Engine. O processo leva alguns minutos para ser concluído.

Clique em Verificar meu progresso para conferir o objetivo. Criar recursos de serviço e implantação do Kubernetes

Tarefa 5: testar o aplicativo de teste

Nesta seção, você vai revisar os pods e o serviço implantados e navegar até o aplicativo de teste.

Revise os recursos implantados

  1. No console do Cloud, no menu de navegação, clique em Kubernetes Engine.
  2. Clique em Kubernetes Engine > Cargas de trabalho.
Observação: dois itens serão mostrados: quiz-frontend e quiz-backend.

O status do pod poderá aparecer como OK ou em processo de criação. Pode ser necessário atualizar algumas vezes até aparecer "OK".
  1. Clique em quiz-frontend.
  2. Role para baixo até Pods gerenciados.
Observação: é possível observar que há três pods "quiz-frontend".
  1. Clique em Kubernetes Engine > Gateways, serviços e entrada.

  2. Clique na guia Serviços.

Observação: o status do balanceador de carga quiz-frontend poderá aparecer como OK ou em processo de criação.

Aguarde até que o serviço esteja OK antes de continuar.

Um endpoint do endereço IP será mostrado quando o serviço estiver pronto.
  1. Em Endpoints, clique no endereço IP de serviço.
Observação: o aplicativo de teste deve ser mostrado.
  1. Crie uma pergunta ou faça um teste.
Observação: o aplicativo funciona conforme o esperado. Observação: revisão

Qual comando do Docker é usado para executar um comando quando o contêiner está sendo criado?

  1. FROM
  2. COPY
  3. RUN
  4. CMD
Qual comando do Docker é usado para executar um comando quando o contêiner foi implantado?

  1. FROM
  2. COPY
  3. RUN
  4. CMD
Qual comando do Kubernetes é usado para recuperar a lista de pods em execução em um cluster?

  1. kubectl pods list
  2. kubectl deployments list
  3. kubectl get pods
  4. kubectl get deployments

Tarefa 6 (bônus): implantar o ranking no Kubernetes Engine

Quando um estudante conclui um teste, as respostas são enviadas para o servidor em uma chamada de API. Sua função é capturar as respostas dos estudantes e salvar as respostas corretas no Cloud Spanner.

Para fazer isso, você precisa do seguinte:

  1. Criar um tópico do Cloud Pub/Sub chamado "answers".
  2. Criar uma tabela do Cloud Spanner chamada "Answers" com nomes de colunas e tipos de dados apropriados.
  3. Postar os dados de respostas no tópico "answers".
  4. Criar uma nova implantação answer-backend em que o aplicativo se inscreve no tópico "answers" no console e insere os dados de respostas na tabela "Answers".
  5. Criar um gerenciador e um modelo Pug em quiz-frontend para exibir os dados do Cloud Spanner quando o usuário acessa o ranking.

Vamos deixar os detalhes para você decidir.

Finalize o laboratório

Clique em Terminar o laboratório após a conclusão. O Google Cloud Ensina remove os recursos usados e limpa a conta por você.

Você vai poder avaliar sua experiência no laboratório. Basta selecionar o número de estrelas, digitar um comentário e clicar em Enviar.

O número de estrelas indica o seguinte:

  • 1 estrela = muito insatisfeito
  • 2 estrelas = insatisfeito
  • 3 estrelas = neutro
  • 4 estrelas = satisfeito
  • 5 estrelas = muito satisfeito

Feche a caixa de diálogo se não quiser enviar feedback.

Para enviar seu feedback, fazer sugestões ou correções, use a guia Suporte.

Copyright 2026 Google LLC. Todos os direitos reservados. Google e o logotipo do Google são marcas registradas da Google LLC. Todos os outros nomes de empresas e produtos podem ser marcas registradas das empresas a que estão associados.

Antes de começar

  1. Os laboratórios criam um projeto e recursos do Google Cloud por um período fixo
  2. Os laboratórios têm um limite de tempo e não têm o recurso de pausa. Se você encerrar o laboratório, vai precisar recomeçar do início.
  3. No canto superior esquerdo da tela, clique em Começar o laboratório

Usar a navegação anônima

  1. Copie o nome de usuário e a senha fornecidos para o laboratório
  2. Clique em Abrir console no modo anônimo

Fazer login no console

  1. Faça login usando suas credenciais do laboratório. Usar outras credenciais pode causar erros ou gerar cobranças.
  2. Aceite os termos e pule a página de recursos de recuperação
  3. Não clique em Terminar o laboratório a menos que você tenha concluído ou queira recomeçar, porque isso vai apagar seu trabalho e remover o projeto

Este conteúdo não está disponível no momento

Você vai receber uma notificação por e-mail quando ele estiver disponível

Ótimo!

Vamos entrar em contato por e-mail se ele ficar disponível

Um laboratório por vez

Confirme para encerrar todos os laboratórios atuais e iniciar este

Use a navegação anônima para executar o laboratório

A melhor maneira de executar este laboratório é usando uma janela de navegação anônima ou privada. Isso evita conflitos entre sua conta pessoal e a conta de estudante, o que poderia causar cobranças extras na sua conta pessoal.