arrow_back

Como implantar, escalonar e atualizar um site no Google Kubernetes Engine

Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

Como implantar, escalonar e atualizar um site no Google Kubernetes Engine

Lab 1 hora 30 minutos universal_currency_alt 1 crédito show_chart Introdutório
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP663

Laboratórios autoguiados do Google Cloud

Visão geral

Manter sites e aplicativos em operação não é uma tarefa simples. Erros inesperados acontecem, servidores falham, e o aumento de demanda exige mais recursos. Além disso, fazer alterações sem causar inatividade é difícil e estressante. Existe uma ferramenta que pode ajudar você com essas tarefas e até mesmo automatizá-las. No Kubernetes, fica mais fácil cuidar de tudo isso.

Neste laboratório, você será o desenvolvedor da empresa fictícia Fancy Store, que está gerenciando um site de e-commerce. Devido a problemas de escalonamento e interrupções, você precisa implantar um aplicativo no Google Kubernetes Engine (GKE).

A ordem das tarefas reflete uma experiência comum de desenvolvedor de nuvem:

  1. Criar um cluster do GKE
  2. Criar um contêiner do Docker
  3. Implantar o contêiner no GKE
  4. Expor o contêiner por meio de um serviço
  5. Escalonar o contêiner para diversas réplicas
  6. Modificar o site
  7. Lançar uma nova versão sem inatividade

Diagrama da arquitetura

Diagrama da arquitetura

Pré-requisitos

  • Para uma compreensão ideal, é recomendável conhecimentos básicos sobre Docker e Kubernetes.

Configuração e requisitos

Antes de clicar no botão Start Lab

Leia estas instruções. Os laboratórios são cronometrados e não podem ser pausados. O timer é iniciado quando você clica em Começar o laboratório e mostra por quanto tempo os recursos do Google Cloud vão ficar disponíveis.

Este laboratório prático permite que você realize as atividades em um ambiente real de nuvem, não em uma simulação ou demonstração. Você vai receber novas credenciais temporárias para fazer login e acessar o Google Cloud durante o laboratório.

Confira os requisitos para concluir o laboratório:

  • Acesso a um navegador de Internet padrão (recomendamos o Chrome).
Observação: para executar este laboratório, use o modo de navegação anônima ou uma janela anônima do navegador. Isso evita conflitos entre sua conta pessoal e a conta de estudante, o que poderia causar cobranças extras na sua conta pessoal.
  • Tempo para concluir o laboratório---não se esqueça: depois de começar, não será possível pausar o laboratório.
Observação: não use seu projeto ou conta do Google Cloud neste laboratório para evitar cobranças extras na sua conta.

Como iniciar seu laboratório e fazer login no console do Google Cloud

  1. Clique no botão Começar o laboratório. Se for preciso pagar, você verá um pop-up para selecionar a forma de pagamento. No painel Detalhes do laboratório à esquerda, você verá o seguinte:

    • O botão Abrir Console do Cloud
    • Tempo restante
    • As credenciais temporárias que você vai usar neste laboratório
    • Outras informações se forem necessárias
  2. Clique em Abrir Console do Google. O laboratório ativa recursos e depois abre outra guia com a página Fazer login.

    Dica: coloque as guias em janelas separadas lado a lado.

    Observação: se aparecer a caixa de diálogo Escolher uma conta, clique em Usar outra conta.
  3. Caso seja preciso, copie o Nome de usuário no painel Detalhes do laboratório e cole esse nome na caixa de diálogo Fazer login. Clique em Avançar.

  4. Copie a Senha no painel Detalhes do laboratório e a cole na caixa de diálogo Olá. Clique em Avançar.

    Importante: você precisa usar as credenciais do painel à esquerda. Não use suas credenciais do Google Cloud Ensina. Observação: se você usar sua própria conta do Google Cloud neste laboratório, é possível que receba cobranças adicionais.
  5. Acesse as próximas páginas:

    • Aceite os Termos e Condições.
    • Não adicione opções de recuperação nem autenticação de dois fatores (porque essa é uma conta temporária).
    • Não se inscreva em testes gratuitos.

Depois de alguns instantes, o console do GCP vai ser aberto nesta guia.

Observação: para ver uma lista dos produtos e serviços do Google Cloud, clique no Menu de navegação no canto superior esquerdo. Ícone do menu de navegação

Ativar o Cloud Shell

O Cloud Shell é uma máquina virtual com várias 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. Clique em Ativar o Cloud Shell Ícone "Ativar o Cloud Shell" na parte de cima do console do Google Cloud.

Depois de se conectar, vai notar que sua conta já está autenticada, e que o projeto está configurado com seu PROJECT_ID. A saída contém uma linha que declara o projeto PROJECT_ID para esta sessão:

Your Cloud Platform project in this session is set to YOUR_PROJECT_ID

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

  1. (Opcional) É possível listar o nome da conta ativa usando este comando:
gcloud auth list
  1. Clique em Autorizar.

  2. A saída será parecida com esta:

Saída:

ACTIVE: * ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (Opcional) É possível listar o ID do projeto usando este comando:
gcloud config list project

Saída:

[core] project = <project_ID>

Exemplo de saída:

[core] project = qwiklabs-gcp-44776a13dea667a6 Observação: para conferir a documentação completa da gcloud, acesse o guia com informações gerais sobre a gcloud CLI no Google Cloud.

Definir a zona

  • Defina a zona padrão e a configuração do projeto:
gcloud config set compute/zone {{{project_0.default_zone|lab zone}}}

Saiba mais na documentação sobre Zonas e Regiões.

Tarefa 1: criar um cluster do GKE

Você precisa de um cluster do Kubernetes para implantar seu site. Primeiro confirme se as APIs necessárias estão ativadas.

  1. Execute o seguinte comando para ativar a API Container Registry:
gcloud services enable container.googleapis.com

Agora você já pode criar um cluster.

  1. Execute o código abaixo para criar um cluster do GKE chamado fancy-cluster com 3 nós:
gcloud container clusters create fancy-cluster --num-nodes 3 Observação: Se você receber um erro de região/zona não especificada, consulte a seção de configuração do ambiente para confirmar se a zona do Compute padrão foi definida.

A criação do cluster levará alguns minutos.

  1. Agora execute este comando para conferir as três instâncias da VM de worker do cluster:
gcloud compute instances list

Saída:

NAME: gke-fancy-cluster-default-pool-fb932da6-4sk6 ZONE: us-central1-f MACHINE_TYPE: e2-medium PREEMPTIBLE: INTERNAL_IP: 10.128.0.3 EXTERNAL_IP: 34.172.106.173 STATUS: RUNNING NAME: gke-fancy-cluster-default-pool-fb932da6-d6qc ZONE: us-central1-f MACHINE_TYPE: e2-medium PREEMPTIBLE: INTERNAL_IP: 10.128.0.4 EXTERNAL_IP: 34.133.99.176 STATUS: RUNNING NAME: gke-fancy-cluster-default-pool-fb932da6-ztnh ZONE: us-central1-f MACHINE_TYPE: e2-medium PREEMPTIBLE: INTERNAL_IP: 10.128.0.5 EXTERNAL_IP: 34.136.180.45 STATUS: RUNNING
  1. Encontre seu cluster do Kubernetes e as informações relacionadas no console do Google Cloud.

  2. Clique em Menu de navegação (Ícone do menu de navegação) > Kubernetes Engine > Clusters.

O cluster chamado fancy-cluster deve aparecer aqui.

Parabéns! Você acabou de criar seu primeiro cluster do Kubernetes.

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

Tarefa 2: clonar o repositório de origem

Como o site já existe, você só precisa clonar a origem e já pode se concentrar na criação de imagens do Docker e na implantação no GKE.

  1. Execute os comandos abaixo para clonar o repositório do Git na instância do Cloud Shell:
cd ~ git clone https://github.com/googlecodelabs/monolith-to-microservices.git
  1. Mude para o diretório apropriado.

  2. Instale as dependências do NodeJS para testar o aplicativo antes da implantação:

cd ~/monolith-to-microservices ./setup.sh

Aguarde a execução do script terminar.

  1. Verifique se você está executando o Cloud Shell com a versão mais recente do NPM:
nvm install --lts
  1. Mude para o diretório apropriado e teste o aplicativo. Execute o seguinte comando para iniciar o servidor da Web:
cd ~/monolith-to-microservices/monolith npm start

Saída:

Monolith listening on port 8080!
  1. Para visualizar o aplicativo, clique no ícone de visualização da Web e selecione Visualizar na porta 8080:

Opção Visualizar na porta 8080 destacada

Isso abre uma nova janela onde é possível conferir nossa Fancy Store em ação!

Página de recepção da Fancy Store

Deixe esta guia aberta, porque você voltará para ela mais tarde no laboratório.

  1. Para interromper o processo do servidor da Web, pressione CTRL+C no Cloud Shell.

Tarefa 3: criar o contêiner do Docker com o Cloud Build

Agora que os arquivos de origem estão prontos, é hora de colocar o aplicativo no Docker.

O método mais comum seria criar um contêiner do Docker e enviá-lo para um registro, onde a imagem é armazenada e pode ser extraída pelo GKE. Existe um jeito mais fácil: crie o contêiner do Docker no Cloud Build e envie a imagem para o Container Registry com um único comando. Com um só comando, você cria e move a imagem para o Container Registry. Saiba mais sobre o processo manual de criação e envio de um arquivo do docker no Guia de início rápido do Container Registry.

O Google Cloud Build compacta e envia os arquivos do diretório para um bucket do Google Cloud Storage. Todos os arquivos do bucket e o Dockerfile no mesmo diretório serão usados para executar o processo de compilação no Docker. Como a sinalização --tag foi especificada com o host como gcr.io para a imagem do Docker, a imagem do Docker resultante será enviada por push para o Google Cloud Container Registry.

  1. Para verificar se a API Cloud Build está ativada, execute o seguinte comando:
gcloud services enable cloudbuild.googleapis.com
  1. Execute este comando para iniciar o processo de build:
cd ~/monolith-to-microservices/monolith gcloud builds submit --tag gcr.io/${GOOGLE_CLOUD_PROJECT}/monolith:1.0.0 .
  1. O processo levará alguns minutos.

O terminal vai mostrar uma saída como esta:

ID CREATE_TIME DURATION SOURCE IMAGES STATUS 1ae295d9-63cb-482c-959b-bc52e9644d53 2019-08-29T01:56:35+00:00 33S gs://_cloudbuild/source/1567043793.94-abfd382011724422bf49af1558b894aa.tgz gcr.io//monolith:1.0.0 SUCCESS
  1. Para consultar o histórico de versões ou acompanhar o processo em tempo real, clique no Menu de navegação, role para baixo até a seção "Ferramentas" e clique em Cloud Build > Histórico. Aqui você encontra uma lista das versões anteriores.

  2. Clique no nome da versão para conferir os detalhes, inclusive a saída do registro.

Opcional: na página Detalhes do build, clique em Resumo do build > Detalhes de execução > Nome da imagem na seção de informações do build para acessar a imagem do contêiner:

Página com a guia Detalhes de execução com o nome da imagem destacado

Clique em Verificar meu progresso para conferir o objetivo. Criar o contêiner do Docker com o Cloud Build

Tarefa 4: implantar o contêiner no GKE

Agora que você já colocou o site em um contêiner e enviou o contêiner para o Google Container Registry, é hora de implantá-lo no Kubernetes.

Para implantar e gerenciar aplicativos em um Cluster do GKE, você precisa se comunicar com o sistema de gerenciamento de clusters do Kubernetes. Geralmente a ferramenta de linha de comando kubectl é usada para isso.

O Kubernetes representa aplicativos como pods, que são unidades que representam um ou mais contêineres estreitamente associados. O pod é a menor unidade implantável no Kubernetes. Neste laboratório, cada pod tem apenas o contêiner monolith que você criou.

Para implantar seu aplicativo, crie um recurso de implantação. Esse recurso gerencia diversas cópias do aplicativo, chamadas de réplicas. Ele programa as réplicas para serem executadas em nós individuais do cluster. Neste laboratório, o recurso de implantação vai executar apenas um pod do aplicativo. Para isso, a implantação cria um ReplicaSet. O ReplicaSet é responsável por garantir que as réplicas especificadas estejam sempre em execução.

Com o comando kubectl create deployment, que você usará em seguida, o Kubernetes cria um recurso de implantação chamado monolith no cluster com 1 réplica.

  • Execute o comando abaixo para implantar seu aplicativo:
kubectl create deployment monolith --image=gcr.io/${GOOGLE_CLOUD_PROJECT}/monolith:1.0.0 Observação: o uso do arquivo YAML e de um sistema de controle de origem para armazenar essas alterações, como o GitHub ou o Cloud Source Repositories, é uma prática recomendada. Saiba mais sobre esses recursos na Documentação de Implantações.

Clique em Verificar meu progresso para conferir o objetivo. Implantar o contêiner no GKE

Verificar implantação

  1. Para verificar se a implantação foi criada corretamente:
kubectl get all

Execute o comando novamente até o status do pod mudar para "Em execução".

Saída:

NAME READY STATUS RESTARTS AGE pod/monolith-7d8bc7bf68-htm7z 1/1 Running 0 6m21s NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/kubernetes ClusterIP 10.27.240.1 443/TCP 24h NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE deployment.apps/monolith 1 1 1 1 20m NAME DESIRED CURRENT READY AGE replicaset.apps/monolith-7d8bc7bf68 1 1 1 20m

Esta saída mostra várias informações:

  • A implantação atual
  • O ReplicaSet com a quantidade desejada de apenas 1 pod
  • O pod em execução

Parece que tudo foi criado corretamente.

Observação: também é possível conferir as implantações do Kubernetes pelo Console acessando Menu de navegação > Kubernetes Engine > Cargas de trabalho. Observação: ao encontrar erros ou status não esperados, depure seus recursos com os comandos abaixo para receber informações detalhadas sobre eles:

kubectl describe pod monolith

kubectl describe pod/monolith-7d8bc7bf68-2bxts

kubectl describe deployment monolith

kubectl describe deployment.apps/monolith

No final da saída, há uma lista de eventos com erros e informações detalhadas sobre os recursos.

Opcional: também é possível executar comandos para cada implantação separadamente:

# Show pods kubectl get pods # Show deployments kubectl get deployments # Show replica sets kubectl get rs #You can also combine them kubectl get pods,deployments

Simule uma falha no servidor excluindo um pod e você vai conhecer todos os benefícios do Kubernetes!

  1. Use o nome de um pod do comando anterior e execute o seguinte para excluí-lo:
kubectl delete pod/<POD_NAME>

É possível conferir a exclusão na página Cargas de trabalho.

  1. Clique no nome da carga de trabalho (isso vai acontecer rapidamente).

  2. Se você for ágil, poderá executar get all de novo e dois pods vão aparecer, um sendo encerrado e outro sendo criado ou executado:

kubectl get all

Saída:

NAME READY STATUS RESTARTS AGE pod/monolith-7d8bc7bf68-2bxts 1/1 Running 0 4s pod/monolith-7d8bc7bf68-htm7z 1/1 Terminating 0 9m35s NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/kubernetes ClusterIP 10.27.240.1 443/TCP 24h NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE deployment.apps/monolith 1 1 1 1 24m NAME DESIRED CURRENT READY AGE replicaset.apps/monolith-7d8bc7bf68 1 1 1 24m

Por que isso aconteceu? O ReplicaSet notou que o pod estava sendo encerrado e acionou um novo para manter a quantidade de réplicas escolhida. Mais adiante no laboratório, você vai aprender a escalonar horizontalmente para garantir que haja várias instâncias em execução. Dessa forma, você evita a inatividade se algum pod falhar.

Tarefa 5: expor a implantação do GKE

Você implantou seu aplicativo no GKE, mas não há como acessá-lo fora do cluster. Por padrão, os contêineres executados no GKE não podem ser acessados pela Internet porque não têm endereços IP externos. É preciso expor explicitamente seu aplicativo ao tráfego da Internet usando o recurso Serviço. Esse serviço oferece suporte de rede e IP aos pods do seu aplicativo. O GKE cria um IP externo e um balanceador de carga para o aplicativo.

  • Execute o seguinte comando para expor o site à Internet:
kubectl expose deployment monolith --type=LoadBalancer --port 80 --target-port 8080

Como acessar o serviço

O GKE atribui o endereço IP externo ao serviço, não à implantação.

  1. Se você quer descobrir o IP externo provisionado pelo GKE para seu aplicativo, inspecione o serviço com o comando kubectl get service:
kubectl get service

Saída:

NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE monolith 10.3.251.122 203.0.113.0 80:30877/TCP 3d

Execute o comando novamente até que o serviço tenha um endereço IP externo.

  1. Depois de definir o endereço IP externo do seu aplicativo, copie e cole esse IP no navegador para acessar o URL (como "http://203.0.113.0") e verificar se o aplicativo está acessível.

O mesmo site que você testou antes vai aparecer. Agora seu site está sendo executado integralmente no Kubernetes.

Clique em Verificar meu progresso para conferir o objetivo. Expor a implantação do GKE

Tarefa 6: escalonar a implantação do GKE

Agora que seu aplicativo está sendo executado no GKE e disponível na Internet, imagine que ele ficou muito famoso. Você precisa escalonar seu aplicativo para diversas instâncias e garantir que ele possa lidar com o aumento do tráfego. A seguir você aprenderá a escalonar o aplicativo para até três réplicas.

  1. No Cloud Shell, escalone sua implantação para até três réplicas executando o seguinte comando:
kubectl scale deployment monolith --replicas=3
  1. Verifique se a implantação foi escalonada corretamente:
kubectl get all

Saída:

NAME READY STATUS RESTARTS AGE pod/monolith-7d8bc7bf68-2bxts 1/1 Running 0 36m pod/monolith-7d8bc7bf68-7ds7q 1/1 Running 0 45s pod/monolith-7d8bc7bf68-c5kxk 1/1 Running 0 45s NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/kubernetes ClusterIP 10.27.240.1 443/TCP 25h service/monolith LoadBalancer 10.27.253.64 XX.XX.XX.XX 80:32050/TCP 6m7s NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE deployment.apps/monolith 3 3 3 3 61m NAME DESIRED CURRENT READY AGE replicaset.apps/monolith-7d8bc7bf68 3 3 3 61m

Três instâncias do seu pod estarão em execução. A implantação e a réplica agora refletem a quantidade escolhida de três pods.

Clique em Verificar meu progresso para conferir o objetivo. Escalonar a implantação do GKE

Tarefa 7: fazer alterações no site

Situação: sua equipe de marketing solicitou que você mude a página inicial do seu site. Ela quer que a página inclua mais informações sobre a empresa e os produtos vendidos.

Tarefa: para atender ao pedido da equipe de marketing, você vai adicionar um texto à página inicial. Parece que um dos desenvolvedores já criou as alterações com o nome de arquivo index.js.new. Basta copiar esse arquivo para index.js, e as mudanças serão aplicadas. Siga as instruções abaixo para fazer as alterações necessárias.

  1. Execute os seguintes comandos para copiar o arquivo atualizado no arquivo com o nome correto:
cd ~/monolith-to-microservices/react-app/src/pages/Home mv index.js.new index.js
  1. Imprima o conteúdo para verificar as alterações:
cat ~/monolith-to-microservices/react-app/src/pages/Home/index.js

O código resultante será parecido com este:

/* Copyright 2019 Google LLC Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at https://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. \*/ import React from "react"; import { makeStyles } from "@material-ui/core/styles"; import Paper from "@material-ui/core/Paper"; import Typography from "@material-ui/core/Typography"; const useStyles = makeStyles(theme => ({ root: { flexGrow: 1 }, paper: { width: "800px", margin: "0 auto", padding: theme.spacing(3, 2) } })); export default function Home() { const classes = useStyles(); return (
Fancy Fashion & Style Online
Tired of mainstream fashion ideas, popular trends and societal norms? This line of lifestyle products will help you catch up with the Fancy trend and express your personal style. Start shopping Fancy items now!
); }

Os componentes do React foram atualizados, mas o aplicativo React precisa ser criado para gerar os arquivos estáticos.

  1. Execute o seguinte comando para criar e copiar o app React no diretório público monolítico:
cd ~/monolith-to-microservices/react-app npm run build:monolith

Agora que o código foi atualizado, é necessário recriar o contêiner do Docker e publicá-lo no Container Registry do Google Cloud. O comando é o mesmo que você usou antes, mas com o rótulo da nova versão.

  1. Execute o comando abaixo para acionar o Cloud Build de novo com a imagem atualizada (versão 2.0.0):
cd ~/monolith-to-microservices/monolith gcloud builds submit --tag gcr.io/${GOOGLE_CLOUD_PROJECT}/monolith:2.0.0 .

Na próxima seção você vai usar essa imagem para atualizar o aplicativo sem inatividade.

Clique em Verificar meu progresso para conferir o objetivo. Fazer alterações no site

Tarefa 8: atualizar o site sem inatividade

As alterações foram feitas, e a equipe de marketing adorou a nova versão. É hora de atualizar o site sem interrupção para os usuários.

O mecanismo de atualização gradual do GKE garante que o aplicativo permaneça ativo e disponível, até mesmo enquanto o sistema substitui instâncias da imagem de contêiner antiga por todas as réplicas em execução.

  • Solicite que o Kubernetes atualize a imagem da implantação para uma nova versão com o seguinte comando:
kubectl set image deployment/monolith monolith=gcr.io/${GOOGLE_CLOUD_PROJECT}/monolith:2.0.0

Verificar implantação

  1. Para validar a atualização da implantação, execute o seguinte comando:
kubectl get pods

Saída:

NAME READY STATUS RESTARTS AGE monolith-584fbc994b-4hj68 1/1 Terminating 0 60m monolith-584fbc994b-fpwdw 1/1 Running 0 60m monolith-584fbc994b-xsk8s 1/1 Terminating 0 60m monolith-75f4cf58d5-24cq8 1/1 Running 0 3s monolith-75f4cf58d5-rfj8r 1/1 Running 0 5s monolith-75f4cf58d5-xm44v 0/1 ContainerCreating 0 1s

Temos aqui três novos pods sendo criados e os pods antigos sendo desativados. É possível identificar os pods novos e os antigos pela idade deles. Depois, vão restar apenas os três pods atualizados.

  1. Execute o seguinte comando para iniciar o servidor da Web e testar o aplicativo:
npm start
  1. Para verificar as alterações, volte à guia do app no navegador da Web e atualize a página. O aplicativo estará atualizado.

O site agora mostra o texto que você acabou de incluir no componente da página inicial.

Página inicial da Fancy Store

  1. Para interromper o processo do servidor da Web, pressione CTRL+C no Cloud Shell.

Clique em Verificar meu progresso para conferir o objetivo. Atualizar o site sem inatividade

Tarefa 9: limpeza dos recursos

Todos os recursos serão excluídos após a conclusão deste laboratório. Mesmo assim, é bom ir removendo aqueles que não estejam mais em uso.

  1. Exclua o repositório do Git:
cd ~ rm -rf monolith-to-microservices
  1. Exclua imagens do Google Container Registry:
# Delete the container image for version 1.0.0 of the monolith gcloud container images delete gcr.io/${GOOGLE_CLOUD_PROJECT}/monolith:1.0.0 --quiet # Delete the container image for version 2.0.0 of the monolith gcloud container images delete gcr.io/${GOOGLE_CLOUD_PROJECT}/monolith:2.0.0 --quiet
  1. Exclua os artefatos do Google Cloud Build no Google Cloud Storage:
# The following command will take all source archives from all builds and delete them from cloud storage # Run this command to print all sources: # gcloud builds list | awk 'NR > 1 {print $4}' gcloud builds list | grep 'SOURCE' | cut -d ' ' -f2 | while read line; do gsutil rm $line; done
  1. Exclua o serviço do GKE:
kubectl delete service monolith kubectl delete deployment monolith
  1. Exclua o cluster do GKE:
gcloud container clusters delete fancy-cluster {{{project_0.default_region | lab region}}}
  1. Digite Y para confirmar a ação. Esse comando pode demorar alguns minutos para ser concluído.

Parabéns!

Você implantou, escalonou e atualizou corretamente seu site no GKE. Agora você já sabe usar o Docker e o Kubernetes.

Termine a Quest

Este laboratório autoguiado faz parte da Quest Site no Google Cloud. Uma Quest é uma série de laboratórios relacionados que formam um programa de aprendizado. Caso você já tenha realizado este laboratório, inscreva-se nesta Quest para ganhar os créditos de conclusão imediatamente. Aqui estão outras Quests disponíveis.

Está procurando um laboratório com desafios práticos para demonstrar suas habilidades e conhecimentos? Quando terminar a Quest, faça este laboratório com desafio para receber um selo digital exclusivo do Google Cloud.

Comece o próximo laboratório

Continue aprendendo com Como migrar um site monolítico para microsserviços no Google Kubernetes Engine ou confira estas sugestões:

Próximas etapas/saiba mais

Manual atualizado em 13 de setembro de 2023

Laboratório testado em 13 de setembro de 2023

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