O Cloud Run é uma plataforma de computação totalmente gerenciada que permite executar contêineres sem estado que podem ser invocados com solicitações HTTP. Você pode implantar um código escrito em qualquer linguagem de programação no Cloud Run se uma imagem de contêiner puder ser criada com base nele. Você pode usar a opção de implantação baseada em origem, que cria o contêiner para você, ao desenvolver seu aplicativo em Go, Node.js, Python, Java, .NET Core ou Ruby.
O Cloud Run é sem servidor e executa seus contêineres na infraestrutura escalonável do Google. Ele é baseado no Knative e permite que você escolha executar seus contêineres totalmente gerenciados com o Cloud Run ou no cluster do Google Kubernetes Engine com o Cloud Run no GKE.
O Cloud Run funciona bem com outros serviços do Google Cloud, para que você possa criar aplicativos completos sem gastar muito tempo operando, configurando e escalonando seu serviço do Cloud Run.
Objetivos
Neste laboratório, você vai:
Usar o Cloud Build para criar uma imagem de contêiner do Docker para o aplicativo.
Implantar a imagem do contêiner no Cloud Run.
Executar e testar o aplicativo em contêiner.
Configuração
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.
Faça login no Qwiklabs em uma janela anônima.
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.
Quando tudo estiver pronto, clique em Começar o laboratório.
Anote as credenciais (Nome de usuário e Senha). É com elas que você vai fazer login no Console do Google Cloud.
Clique em Abrir Console do Google.
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.
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.
No console do Cloud, clique no botão "Abrir o Cloud Shell" na barra de ferramentas superior direita.
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:
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:
Para visualizar o código-fonte do aplicativo, veja o conteúdo do arquivo server.js no diretório de nível superior:
cat server.js
Este é o ponto de entrada principal do aplicativo. Este aplicativo de amostra é um serviço de varejo básico que fornece uma API que retorna dados de produtos quando solicitações são feitas ao aplicativo por HTTP.
Para instalar os módulos de dependência do app localmente, execute o seguinte comando:
npm install
Testar o aplicativo
Para iniciar o aplicativo localmente, execute o seguinte comando:
npm start
Você verá esta resposta:
> sample-node-app@1.0.0 start
> node server.js
Sample-node-app listening on port 8080!
Para abrir uma segunda janela de terminal do Cloud Shell, na barra de navegação do Cloud Shell, clique em ().
Teste a API de amostra fazendo algumas solicitações HTTP ao aplicativo:
curl http://localhost:8080/service/products | jq
Usamos a ferramenta de linha de comando jq para analisar e formatar a resposta JSON do aplicativo.
O aplicativo deve responder com uma lista de produtos:
[
{
"id": "1YMWWN1N4O",
"name": "Home Barista Kit",
"description": "Always wanted to brew coffee with Chemex and Aeropress at home?",
"picture": "static/img/products/barista-kit.jpg",
"cost": 124,
"categories": [
"cookware"
]
},
{
"id": "L9ECAV7KIM",
"name": "Terrarium",
"description": "This terrarium will look great in your white painted living room.",
"picture": "static/img/products/terrarium.jpg",
"cost": 36.45,
"categories": [
"gardening"
]
},
{
"id": "2ZYFJ3GM2N",
"name": "Film Camera",
"description": "This camera looks like it's a film camera, but it's actually digital.",
"picture": "static/img/products/film-camera.jpg",
"cost": 2245,
"categories": [
"photography",
"vintage"
]
},
{
"id": "LS4PSXUNUM",
"name": "Metal Camping Mug",
"description": "You probably don't go camping that often but this is better than plastic cups.",
"picture": "static/img/products/camp-mug.jpg",
"cost": 24.33,
"categories": [
"cookware"
]
},
{
"id": "9SIQT8TOJO",
"name": "City Bike",
"description": "This single-gear bike probably cannot climb the hills of San Francisco.",
"picture": "static/img/products/city-bike.jpg",
"cost": 789.5,
"categories": [
"cycling"
]
},
{
"id": "6E92ZMYYFZ",
"name": "Air Plant",
"description": "Have you ever wondered whether air plants need water? Buy one and figure out.",
"picture": "static/img/products/air-plant.jpg",
"cost": 12.3,
"categories": [
"gardening"
]
}
]
Faça uma segunda solicitação de API para buscar um produto específico por ID:
O aplicativo deve responder com detalhes sobre o produto específico:
{
"id": "1YMWWN1N4O",
"name": "Home Barista Kit",
"description": "Always wanted to brew coffee with Chemex and Aeropress at home?",
"picture": "static/img/products/barista-kit.jpg",
"cost": 124,
"categories": [
"cookware"
]
}
Para sair do aplicativo, na primeira janela do terminal do Cloud Shell, digite Ctrl+C.
Tarefa 3: conteinerizar o aplicativo com o Cloud Build
O Cloud Build é um serviço que executa seus builds no Google Cloud. Com o Cloud Build, é possível criar, testar e implantar seu aplicativo continuamente usando um pipeline de integração e entrega contínuas (CI/CD).
Para fornecer instruções ao Cloud Build, você cria um arquivo de configuração do build que contém um conjunto de tarefas. Essas instruções podem configurar builds para buscar dependências, executar testes de unidade e integração, realizar análises estáticas e criar artefatos com ferramentas de build como Docker, Gradle, Maven e outras.
Nesta tarefa, você vai usar o Cloud Build para criar um contêiner do Docker para seu aplicativo e enviar a imagem de contêiner resultante para um repositório no Artifact Registry.
Criar o repositório
No campo Pesquisar da barra de título do console do Google Cloud, digite Artifact Registry, clique em Pesquisar e selecione Artifact Registry.
Clique em ( Fixar) ao lado de Artifact Registry.
Clique em Criar repositório.
Na página Criar repositório, forneça as informações a seguir e mantenha as outras configurações padrão:
Name
my-repo
Format
Docker
Location type
Region
Region
Clique em Criar e aguarde a criação da rede.
Autenticar o Docker para usar o repositório
Antes de enviar imagens para o repositório, você precisa configurar o Docker para autenticar solicitações ao repositório no Artifact Registry.
Para configurar a autenticação nos repositórios do Docker na região , execute o seguinte comando no Cloud Shell:
Para fornecer instruções ao Cloud Build, você cria um arquivo de configuração do build que contém um conjunto de tarefas. Essas instruções podem configurar builds para buscar dependências, executar testes de unidade e integração, realizar análises estáticas e criar artefatos com builders como Docker, Gradle, Maven e outros.
Defina uma variável de ambiente para o nome do repositório:
cat cloudbuild.yaml
A etapa de build cria uma imagem de contêiner usando o builder do Docker do código-fonte e o Dockerfile, que estão localizados no diretório atual. A imagem criada é enviada para o repositório no Artifact Registry.
Criar o contêiner
Para criar o contêiner com o Cloud Build, execute o seguinte comando:
Primeiro, o Cloud Build faz upload do código-fonte do aplicativo e de outros arquivos do diretório especificado para o Cloud Storage. Em seguida, ele cria a imagem do contêiner que contém o aplicativo com base nas instruções especificadas na configuração de build e no Dockerfile, marca a imagem com o nome e envia a imagem para o repositório no Artifact Registry.
Ver histórico de builds
No campo Pesquisar da barra de título do console do Google Cloud, digite Cloud Build, clique em Pesquisar e selecione Cloud Build.
Em Região, selecione .
Clique no ID do primeiro build da lista.
Os detalhes do build, incluindo o registro do build, vão aparecer.
Visualizar a imagem do contêiner no Artifact Registry
Depois que o comando de build for concluído, no console do Google Cloud, no menu de navegação (), clique em Artifact Registry > Repositórios.
Clique no repositório my-repo para mostrar a imagem de contêiner sample-node-app-image.
Para conferir o objetivo, clique em Verificar meu progresso.
Criar uma imagem de contêiner com o Cloud Build.
Tarefa 4: implantar o contêiner no Cloud Run
Com a imagem do contêiner criada, agora você pode implantá-la no Cloud Run. Há duas abordagens de implantação no Cloud Run:
Cloud Run gerenciado: um modelo de serviço em que todo o ciclo de vida do contêiner é gerenciado pelo Cloud Run. Você vai usar essa abordagem neste laboratório.
Cloud Run no Anthos: Cloud Run com uma camada extra de controle, que permite integrar seus próprios clusters e pods do GKE.
Nesta tarefa, você vai implantar sua imagem de contêiner no serviço totalmente gerenciado do Cloud Run no Google Cloud.
Para implantar a imagem do contêiner, execute este comando no Cloud Shell:
gcloud run deploy sample-node-app --image ${REPO}/sample-node-app-image --region $REGION --allow-unauthenticated
A opção allow-unauthenticated permite o acesso ao serviço sem exigir autenticação.
Depois que o comando for concluído, no console do Google Cloud, no menu de navegação (), clique em Cloud Run.
Para mostrar os detalhes do serviço do Cloud Run, clique no nome do serviço sample-node-app.
Para conferir o objetivo, clique em Verificar meu progresso.
Implantar a imagem do contêiner no Cloud Run.
Tarefa 5: testar o aplicativo no Cloud Run
Para verificar se o serviço está em execução e disponível para aceitar solicitações, execute este comando no Cloud Shell:
gcloud run services list
A resposta do comando é semelhante a:
✔
SERVICE: sample-node-app
REGION: asia-east1
URL: https://sample-node-app-dduno3adrq-uc.a.run.app
LAST DEPLOYED BY: student-04-329a97f025fd@qwiklabs.net
LAST DEPLOYED AT: 2023-02-28T22:21:04.803928Z
Na resposta do comando, copie o valor do URL e cole-o no comando curl, acrescentando service/products ao final do URL, conforme mostrado. Transmita a resposta para o comando jq e pressione ENTER:
Copyright 2020 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.
Os laboratórios criam um projeto e recursos do Google Cloud por um período fixo
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.
No canto superior esquerdo da tela, clique em Começar o laboratório
Usar a navegação anônima
Copie o nome de usuário e a senha fornecidos para o laboratório
Clique em Abrir console no modo anônimo
Fazer login no console
Faça login usando suas credenciais do laboratório. Usar outras credenciais pode causar erros ou gerar cobranças.
Aceite os termos e pule a página de recursos de recuperação
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
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.
Neste laboratório, você vai criar e implantar um aplicativo conteinerizado no Cloud Run.
Duração:
Configuração: 0 minutos
·
Tempo de acesso: 60 minutos
·
Tempo para conclusão: 60 minutos