Olá, Cloud Run
- Informações gerais
- Configuração e requisitos
- Tarefa 1: ative a API Cloud Run e configure seu ambiente shell
- Tarefa 2: crie o aplicativo de exemplo
- Tarefa 3: conteinerize seu app e faça upload dele para o Artifact Registry
- Tarefa 4: implante no Cloud Run
- Tarefa 5: faça a limpeza
- Finalize o laboratório
- Parabéns!
Informações gerais
O Cloud Run é uma plataforma de computação gerenciada onde você executa contêineres sem estado que podem ser invocados usando solicitações HTTP. O Cloud Run não tem servidor. Ele cuida de todo o gerenciamento da infraestrutura para que você possa se concentrar no que mais importa: criar aplicativos incríveis.
O Cloud Run foi desenvolvido usando o Knative. Por isso, você pode executar contêineres de maneira totalmente gerenciada com o próprio Cloud Run ou em um cluster do Google Kubernetes Engine com o Cloud Run no GKE.
O objetivo deste laboratório é criar uma imagem de aplicativo conteinerizado simples que será implantada no Cloud Run.
Objetivos
Neste laboratório, você vai aprender a:
- ativar a API Cloud Run;
- criar um aplicativo Node.js simples que pode ser implantado como um contêiner sem servidor e estado;
- conteinerizar seu aplicativo e fazer upload dele para o Artifact Registry.
- implantar um aplicativo conteinerizado no Cloud Run.
- excluir imagens desnecessárias para evitar cobranças adicionais de armazenamento.
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 sem custo financeiro.
-
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ê vai encontrar o seguinte:
- O botão Abrir console do Google Cloud
- O tempo restante
- As credenciais temporárias que você vai usar neste laboratório
- Outras informações, se forem necessárias
-
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 Fazer 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 Fazer login.
{{{user_0.username | "Nome de usuário"}}} Você também encontra o Nome de usuário no painel Detalhes do laboratório.
-
Clique em Seguinte.
-
Copie a Senha abaixo e cole na caixa de diálogo de boas-vindas.
{{{user_0.password | "Senha"}}} Você também encontra a Senha no painel Detalhes do laboratório.
-
Clique em Seguinte.
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, é possível que 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 gratuitos.
Depois de alguns instantes, o console do Google Cloud será aberto nesta guia.
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:
Saída:
Exemplo de saída:
- Para listar o ID do projeto, use este comando:
Saída:
Exemplo de saída:
Referência
Comandos básicos do Linux
Abaixo, você encontra uma lista de referências com alguns dos comandos mais básicos do Linux que podem aparecer nas instruções ou blocos de código deste laboratório.
Comando --> | Ação | . | Comando --> | Ação |
---|---|---|---|---|
mkdir (criar diretório) | cria uma nova pasta | . | cd (mudar diretório) | muda o local para outra pasta |
ls (listar ) | lista arquivos e pastas no diretório | . | cat (concatenar) | lê o conteúdo de um arquivo sem usar um editor |
apt-get update | atualiza a biblioteca do gerenciador de pacotes | . | ping | sinal para testar a acessibilidade de um host |
mv (mover ) | move um arquivo | . | cp (copiar) | cria uma cópia do arquivo |
pwd (apresentar diretório de trabalho) | retorna o local atual | . | sudo (ação de superusuário) | concede privilégios de administração |
Tarefa 1: ative a API Cloud Run e configure seu ambiente shell
- No Cloud Shell, ative a API Cloud Run:
- Se for solicitado, autorize o uso das suas credenciais. Depois, você verá uma mensagem de sucesso parecida com esta:
- Defina a região de computação:
- Crie uma variável de ambiente "LOCATION":
Tarefa 2: crie o aplicativo de exemplo
Nesta tarefa, você vai criar um aplicativo simples em Node.js baseado no Express que responde a solicitações HTTP.
- No Cloud Shell, crie um novo diretório chamado
helloworld
e depois mova sua visualização para ele:
-
Agora, você vai criar e editar os arquivos. Para fazer mudanças, use o
nano
ou clique no botão Abrir editor no Cloud Shell para usar o editor de código da ferramenta. -
Crie um arquivo
package.json
e adicione este conteúdo a ele:
O arquivo acima contém principalmente um comando de script de início e uma dependência no framework Express para aplicativos da Web.
-
Pressione CTRL+X, depois Y e, por último, Enter para salvar o arquivo
package.json
. -
No mesmo diretório, crie um arquivo
index.js
e cole estas linhas nele:
Esse código cria um servidor da Web básico que detecta na porta definida pela variável de ambiente PORT
. O app está concluído e pronto para conteinerização e upload no Artifact Registry.
- Pressione CTRL+X, depois Y e, por último, Enter para salvar o arquivo
index.js
Tarefa 3: conteinerize seu app e faça upload dele para o Artifact Registry
- Para conteinerizar o app de exemplo, crie um novo arquivo chamado
Dockerfile
no mesmo diretório dos arquivos de origem e adicione o seguinte:
-
Pressione CTRL+X, depois Y e por último Enter para salvar o arquivo
Dockerfile
. -
Crie a imagem do contêiner usando o Cloud Build. Para isso, execute o comando a seguir no diretório que tem seu
Dockerfile
. A variável de ambiente $GOOGLE_CLOUD_PROJECT no comando contém o ID do projeto do laboratório:
O Cloud Build é um serviço que executa seus builds no Google Cloud. Ele segue uma série de etapas do build, cada uma em um contêiner do Docker, para produzir o contêiner do seu aplicativo (ou outros artefatos) e enviá-lo ao Artifact Registry, tudo em um comando.
Depois disso, a mensagem "SUCCESS" vai aparecer com o nome da imagem (gcr.io/[PROJECT-ID]/helloworld
). A imagem é armazenada no Artifact Registry e pode ser reutilizada se você quiser.
- Liste todas as imagens do contêiner associadas ao projeto atual usando este comando:
- Registre a
gcloud
como auxiliar de credenciais para todos os registros do Docker compatíveis com o Google:
- Para executar e testar o aplicativo localmente no Cloud Shell, inicie-o usando este comando padrão do
docker
:
- Na janela do Cloud Shell, clique em Visualização na Web e selecione Visualizar na porta 8080.
Uma janela do navegador será aberta com a mensagem "Hello World!". Também é possível usar curl localhost:8080
.
Tarefa 4: implante no Cloud Run
- Para implantar seu aplicativo conteinerizado no Cloud Run, use o seguinte comando com o ID do projeto:
A flag "allow-unauthenticated" no comando acima torna seu serviço disponível publicamente.
- Se for solicitado, confirme o
service name
pressionando Enter.
Aguarde alguns instantes até a implantação terminar.
Em caso de sucesso, a linha de comando vai exibir o URL de serviço:
Agora você pode acessar o contêiner implantado abrindo o URL de serviço em qualquer janela do navegador.
Parabéns! Você acabou de implantar um aplicativo empacotado em uma imagem de contêiner no Cloud Run. O Cloud Run escalona de maneira automática e horizontal a imagem do contêiner para processar as solicitações recebidas, depois reduz o escalonamento quando a demanda diminui. No seu ambiente, você paga apenas pela CPU, memória e rede consumidas durante o processamento da solicitação.
Neste laboratório, você usou a linha de comando gcloud
. O Cloud Run também está disponível no console do Cloud.
- No Menu de navegação, na seção "Sem servidor", clique em Cloud Run. Você vai encontrar seu serviço
helloworld
na lista.
Tarefa 5: faça a limpeza
O Cloud Run não gera custos quando o serviço não está em uso, mas você ainda vai receber cobranças pelo armazenamento da imagem de contêiner que você criou.
- Para evitar cobranças, exclua seu projeto do Google Cloud para interromper o faturamento de todos os recursos usados ou apague sua imagem
helloworld
usando este comando:
-
Quando for solicitado que você prossiga, digite
Y
e pressione Enter. -
Para excluir o serviço do Cloud Run, use este comando:
- Quando for solicitado que você prossiga, digite
Y
e pressione Enter.
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.
Parabéns!
Você concluiu este laboratório!
Próximas etapas / Saiba mais
Para saber como criar um contêiner HTTP sem estado compatível com o Cloud Run a partir do código-fonte e enviá-lo para o Artifact Registry, consulte:
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.