GSP015
Visão geral
O Google Kubernetes Engine facilita a execução de contêineres do Docker na nuvem. O Google Kubernetes Engine usa o Kubernetes, um programador de contêineres de código aberto, para garantir que seu cluster esteja sempre funcionando exatamente da maneira que você quer.
Neste laboratório, você aprenderá a iniciar um contêiner e a iniciar réplicas desse contêiner no Google Kubernetes Engine.
Configuração e requisitos
Antes de clicar no botão Começar o Laboratório
Leia estas instruções. Os laboratórios são cronometrados e não podem ser pausados. O timer é ativado quando você clica em Iniciar 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, e 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 (recomendado) ou uma janela anônima do navegador. Isso evita conflitos entre sua conta pessoal e de estudante, o que poderia causar cobranças extras na sua conta pessoal.
- Tempo para concluir o laboratório: não se esqueça que, depois de começar, não será possível pausar o laboratório.
Observação: use apenas a conta de estudante neste laboratório. Se usar outra conta do Google Cloud, você poderá receber cobranças nela.
Como iniciar seu laboratório e fazer login no console do Google Cloud
-
Clique no botão Começar laboratório. Se for preciso pagar por ele, uma caixa de diálogo vai aparecer para você selecionar a forma de pagamento.
À direita, você encontra o painel Configuração e acesso ao laboratório com as seguintes informações:
- O botão Abrir console do Google Cloud
- As credenciais temporárias (nome de usuário e senha) que você vai usar no laboratório
- Outros dados, se necessários
O timer do laboratório fica na parte de cima da página e mostra o tempo restante.
-
Se você estiver usando o navegador Chrome, clique em Abrir console do Google Cloud ou clique com o botão direito do mouse e selecione Abrir link em uma janela anônima.
O laboratório ativa os recursos e depois abre a página "Login" em outra guia.
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.
-
Se necessário, copie o Nome de usuário abaixo e cole na caixa de diálogo Login.
{{{user_0.username | "Username"}}}
Você também encontra o nome de usuário no painel Configuração e acesso ao laboratório.
-
Clique em Avançar.
-
Copie a Senha abaixo e cole na caixa de diálogo Olá!.
{{{user_0.password | "Password"}}}
Você também encontra a senha no painel Configuração e acesso ao laboratório.
-
Clique em Avançar.
Importante: você precisa usar as credenciais fornecidas no laboratório, e não as da sua conta do Google Cloud.
Observação: se você usar sua própria conta do Google Cloud neste laboratório, talvez receba cobranças adicionais.
-
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 sem custo financeiro.
Depois de alguns instantes, o console do Google Cloud será aberto nesta guia.
Observação: para acessar os produtos e serviços do Google Cloud, clique no Menu de navegação ou digite o nome do serviço ou produto no campo Pesquisar.
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.
-
Clique em Ativar o Cloud Shell
na parte de cima do console do Google Cloud.
-
Clique nas seguintes janelas:
- Continue na janela de informações do Cloud Shell.
- Autorize o Cloud Shell a usar suas credenciais para fazer chamadas de APIs do Google Cloud.
Depois de se conectar, você verá 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 {{{project_0.project_id | "PROJECT_ID"}}}
A gcloud é a ferramenta de linha de comando do Google Cloud. Ela vem pré-instalada no Cloud Shell e aceita preenchimento com tabulação.
- (Opcional) É possível listar o nome da conta ativa usando este comando:
gcloud auth list
- Clique em Autorizar.
Saída:
ACTIVE: *
ACCOUNT: {{{user_0.username | "ACCOUNT"}}}
To set the active account, run:
$ gcloud config set account `ACCOUNT`
- (Opcional) É possível listar o ID do projeto usando este comando:
gcloud config list project
Saída:
[core]
project = {{{project_0.project_id | "PROJECT_ID"}}}
Observação: consulte a documentação completa da gcloud no Google Cloud no guia de visão geral da gcloud CLI.
Tarefa 1: criar um cluster
Nesta seção, você vai criar um cluster do Google Kubernetes Engine.
Definir zona do Compute
O Cloud Shell é um terminal baseado em navegador para uma máquina virtual que tem as ferramentas do Google Cloud instaladas e algumas ferramentas adicionais (como editores e compiladores) que são úteis ao desenvolver ou depurar seu aplicativo na nuvem.
Você vai usar o comando gcloud para criar o cluster. Primeiro, defina a zona do Compute para que as máquinas virtuais do cluster sejam criadas na região correta. Faça isso usando gcloud config set compute/zone.
- Insira o seguinte no Cloud Shell:
gcloud config set compute/zone {{{project_0.default_zone|ZONE}}}
O que são as regiões e zonas
Alguns recursos do Compute Engine estão em regiões ou zonas. As regiões são localizações geográficas específicas onde você pode executar seus recursos. Todas elas têm uma ou mais zonas. Por exemplo, us-central1 indica uma região na área central dos Estados Unidos com as zonas us-central1-a, us-central1-b, us-central1-c e us-central1-f.
| Regiões |
Zonas |
| Oeste dos EUA |
us-west1-a, us-west1-b |
| Central dos EUA |
us-central1-a, us-central1-b, us-central1-d, us-central1-f |
| Leste dos EUA |
us-east1-b, us-east1-c, us-east1-d |
| Europa Ocidental |
europe-west1-b, europe-west1-c, europe-west1-d |
| Ásia Oriental |
asia-east1-a, asia-east1-b, asia-east1-c |
Os recursos que estão em uma zona são chamados de recursos zonais. As instâncias de máquina virtual e os discos permanentes ficam em uma zona. Para anexar um disco permanente a uma instância de máquina virtual, esses dois recursos precisam estar na mesma zona. Da mesma forma, para atribuir um endereço IP estático a uma instância, os dois precisam estar na mesma região.
Para saber mais sobre regiões e zonas, além de conferir uma lista completa com todas elas na página do Compute Engine, acesse Documentação de regiões e zonas.
Crie um novo cluster
- Crie um novo cluster de contêineres com o comando
gcloud assim:
gcloud container clusters create hello-world
Esse comando cria um novo cluster chamado hello-world com três nós (VMs). Você pode configurar o comando com mais sinalizações para alterar o número de nós, as permissões padrão e outras variáveis. Consulte a referência da gcloud para a criação de clusters de contêineres para obter mais detalhes.
Observação: se você receber um erro ao executar gcloud container clusters create, verifique se ativou as APIs Google Kubernetes Engine e Compute Engine.
A inicialização do cluster pode levar alguns minutos. Quando estiver pronto, você verá uma saída no Cloud Shell parecida com esta:
NAME LOCATION MASTER_VERSION MASTER_IP MACHINE_TYPE NODE_VERSION NUM_NODES STATUS
hello-world {{{project_0.default_zone|ZONE}}} 1.12.7-gke.10 35.239.64.154 e2-medium 1.12.7-gke.10 3 RUNNING
Teste a tarefa concluída
Clique em Verificar meu progresso para conferir a tarefa realizada. Se você concluiu a tarefa, vai receber uma pontuação de avaliação.
Criar um cluster do Kubernetes.
Tarefa 2: criar e publicar o app Hello World
Em seguida, crie e publique um contêiner que contenha seu código. Você vai usar o Docker para criar o contêiner e o Google Artifact Registry para publicá-lo com segurança.
Configure o ID do projeto
Você vai usar o ID do projeto em muitos comandos neste laboratório. O ID do projeto é armazenado em uma variável de ambiente no Cloud Shell. Você pode conferir aqui:
echo $DEVSHELL_PROJECT_ID
Tarefa 3: acessar o exemplo de código
- Execute o seguinte comando para clonar os exemplos:
git clone https://github.com/GoogleCloudPlatform/kubernetes-engine-samples
- Altere os diretórios:
cd kubernetes-engine-samples/quickstarts/hello-app
Crie o contêiner
Os contêineres do Docker são criados usando um Dockerfile. O exemplo de código fornece um Dockerfile básico que podemos usar.
cat Dockerfile
Este é o conteúdo do arquivo:
...
FROM golang:1.26.2 AS builder
WORKDIR /app
RUN go mod init hello-app
COPY *.go ./
RUN CGO_ENABLED=0 GOOS=linux go build -o /hello-app
FROM gcr.io/distroless/static-debian12
WORKDIR /
COPY --from=builder /hello-app /hello-app
ENV PORT=8080
USER nonroot:nonroot
CMD ["/hello-app"]
- Para criar o contêiner, execute o seguinte comando:
docker build -t gcr.io/$DEVSHELL_PROJECT_ID/hello-app:1.0 .
Isso vai criar uma imagem do contêiner do Docker armazenada localmente.
Publicar o contêiner
Para que o Kubernetes acesse sua imagem, você precisa armazená-la em um Artifact Registry.
- Execute o comando a seguir para publicar a imagem do contêiner:
gcloud docker -- push gcr.io/$DEVSHELL_PROJECT_ID/hello-app:1.0
Tarefa 4: implantar o app Hello World
Agora que temos um cluster em execução e nosso aplicativo criado, é hora de implantá-lo.
Crie a implantação
Uma implantação é um componente essencial do Kubernetes que garante que seu aplicativo esteja sempre em execução. Uma implantação programa e gerencia um conjunto de pods no cluster. Um pod é um ou mais contêineres que "viajam juntos". Isso pode significar que eles são administrados juntos ou têm os mesmos requisitos de rede. Neste laboratório, há apenas um contêiner no pod.
Normalmente, você cria um arquivo YAML com a configuração da implantação. Neste laboratório, vamos pular essa etapa e criar a implantação diretamente na linha de comando.
- Crie o pod usando
kubectl:
kubectl create deployment hello-app --image=gcr.io/$DEVSHELL_PROJECT_ID/hello-app:1.0
Observação: ignore os avisos de suspensão de uso de comandos.
Esse comando inicia uma cópia da imagem Docker em um dos nós do cluster.
Teste a tarefa concluída
Clique em Verificar meu progresso para conferir a tarefa realizada. Se você concluiu a tarefa, vai receber uma pontuação de avaliação.
Criar e implantar o app Hello World (hello-app)
- Execute o seguinte para conferir a implantação que você criou usando
kubectl:
kubectl get deployments
Você vai receber um resultado parecido com este:
NAME READY UP-TO-DATE AVAILABLE AGE
hello-app 1/1 1 1 30s
- Você também pode ver o pod em execução usando
kubectl:
kubectl get pods
Você vai receber um resultado parecido com este:
NAME READY STATUS RESTARTS AGE
hello-app-3375482827-7hs3q 1/1 Running 0 1m
Permitir o tráfego externo
Por padrão, um pod só pode ser acessado por outras máquinas dentro do cluster. Para usar o contêiner do app que foi criado, ele precisa ser exposto como um serviço.
Normalmente, você cria um arquivo YAML com a configuração do serviço. Neste laboratório, vamos pular essa etapa e criar a implantação diretamente na linha de comando.
- Execute o comando a seguir para expor a implantação com o comando
kubectl expose:
kubectl expose deployment hello-app --name=hello-app --type=LoadBalancer --port=80 --target-port=8080
O comando kubectl expose cria um serviço, as regras de encaminhamento para o balanceador de carga e as regras de firewall que permitem que o tráfego externo seja enviado ao pod. A flag --type=LoadBalancer cria um balanceador de carga de rede do Google Cloud que aceita tráfego externo.
- Para conseguir o endereço IP do seu serviço, execute o seguinte comando:
kubectl get svc hello-app
Você vai receber um resultado parecido com este:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
hello-app LoadBalancer 10.3.247.85 104.198.151.208 80/TCP 8m
Observação: pode levar um minuto para que o External-IP seja preenchido. Se você vir <pending> em External-IP, espere 30 segundos e tente novamente.
Teste a tarefa concluída
Clique em Verificar meu progresso para conferir a tarefa realizada. Se você concluiu a tarefa, vai receber uma pontuação de avaliação.
Permitir tráfego externo para a implantação hello-app.
Verifique a implantação
Abra uma nova janela ou guia do navegador e navegue até o endereço IP externo da etapa anterior. O exemplo de código será executado.

Tarefa 5: testar seu conhecimento
Responda às perguntas de múltipla escolha a seguir para reforçar sua compreensão dos conceitos abordados neste laboratório. Use tudo o que você aprendeu até aqui.
Parabéns!
Com o Google Kubernetes Engine, é possível executar contêineres no Google Cloud de maneira eficiente e flexível. O Kubernetes também pode ser usado no seu próprio hardware ou em outros provedores de nuvem.
Este laboratório usou apenas um contêiner, mas é simples configurar vários ambientes de contêineres ou várias instâncias de um único contêiner.
O que vimos
- Google Kubernetes Engine
- Como criar e iniciar um app conteinerizado simples no Google Kubernetes Engine
Comece o próximo laboratório
Faça outro laboratório, como:
Próximas etapas / Saiba mais
Treinamento e certificação do Google Cloud
Esses treinamentos ajudam você a aproveitar as tecnologias do Google Cloud ao máximo. Nossas aulas incluem habilidades técnicas e práticas recomendadas para ajudar você a alcançar rapidamente o nível esperado e continuar sua jornada de aprendizado. Oferecemos treinamentos que vão do nível básico ao avançado, com opções de aulas virtuais, sob demanda e por meio de transmissões ao vivo para que você possa encaixá-las na correria do seu dia a dia. As certificações validam sua experiência e comprovam suas habilidades com as tecnologias do Google Cloud.
Manual atualizado em 11 de dezembro de 2024
Laboratório testado em 11 de dezembro de 2024
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 produtos e empresas podem ser marcas registradas das respectivas empresas a que estão associados.