arrow_back

Container-Optimized OS: Qwik Start

Container-Optimized OS: Qwik Start

30 minutos 1 crédito

GSP144

Laboratórios autoguiados do Google Cloud

Visão geral

O Container-Optimized OS é uma imagem de sistema operacional das suas VMs do Compute Engine otimizada para executar contêineres do Docker. Ele é o SO recomendado pelo Google para executar contêineres no Google Cloud Platform. Neste laboratório, você criará uma instância otimizada para contêineres usando o Console do Cloud e a CLI.

Por ser fornecido com todas as dependências relacionadas a contêineres pré-instaladas, o Container-Optimized OS permite que seu cluster seja dimensionado para mais ou para menos em resposta a alterações de tráfego ou carga de trabalho, otimizando seu investimento e melhorando a confiabilidade.

O Container-Optimized OS capacita diversos serviços do GCP, como o Kubernetes Engine e o Cloud SQL. Isso faz dele a solução perfeita quando o assunto são cargas de trabalho de contêineres.

Configuração

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 ficarão disponíveis.

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

O que é necessário

Para fazer este laboratório, você precisa ter:

  • acesso a um navegador de Internet padrão (recomendamos o Chrome);
  • tempo para concluir as atividades.

Observação: não use seu projeto ou sua conta do Google Cloud neste laboratório.

Observação: se estiver usando um dispositivo Chrome OS, abra uma janela anônima para executar o laboratório.

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

Ative o Google Cloud Shell

O Google Cloud Shell é uma máquina virtual com ferramentas de desenvolvimento. Ele conta com um diretório principal permanente de 5 GB e é executado no Google Cloud. O Google Cloud Shell permite acesso de linha de comando aos seus recursos do GCP.

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

    Ícone do Cloud Shell

  2. Clique em Continue (continuar):

    cloudshell_continue

Demora alguns minutos para provisionar e conectar-se ao ambiente. Quando você está conectado, você já está autenticado e o projeto é definido como seu PROJECT_ID . Por exemplo:

Terminal do Cloud Shell

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

É possível listar o nome da conta ativa com este comando:

gcloud auth list

Saída:

ACTIVE: *
ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net
To set the active account, run:
    $ gcloud config set account `ACCOUNT`
	

É possível listar o ID de projeto com este comando:

gcloud config list project
	

Saída:

[core]
project = <project_ID>
	

Exemplo de saída:

[core]
project = qwiklabs-gcp-44776a13dea667a6
	

Benefícios do Container-Optimized OS

  • Executar contêineres prontos para uso: as instâncias do Container-Optimized OS vêm pré-instaladas com o cloud-init e o tempo de execução do Docker. Com uma instância do Container-Optimized OS, você pode abrir seu contêiner do Docker enquanto cria sua VM, sem a necessidade de configuração no host.

  • Superfície de ataque menor: o Container-Optimized OS tem uma projeção menor, o que reduz a superfície de ataque em potencial da sua instância.

  • Bloqueado por padrão: as instâncias do Container-Optimized OS incluem um firewall bloqueado e outras configurações de segurança por padrão.

  • Atualizações automáticas: as instâncias do Container-Optimized OS são configuradas para fazer o download de atualizações semanais automaticamente em segundo plano. Para usar as versões mais recentes, é preciso apenas reinicializar as instâncias.

Casos de uso para o Container-Optimized OS

O Container-Optimized OS pode ser usado para executar a maioria dos contêineres do Docker. Você deve considerar o uso do Container-Optimized OS como sistema operacional da sua instância do Compute Engine se tiver uma das seguintes necessidades:

  • Você precisa de compatibilidade com contêineres do Docker ou do Kubernetes com trabalho de configuração mínimo.

  • Você precisa de um sistema operacional com projeção pequena e segurança reforçada para contêineres.

  • Você precisa de um sistema operacional testado e aprovado para a execução do Kubernetes nas suas instâncias do Compute Engine.

Recursos do Container-Optimized OS

O Compute Engine fornece várias imagens de VM públicas que podem ser usadas para criar instâncias e executar cargas de trabalho de contêineres. Algumas dessas imagens de VM públicas têm um sistema operacional minimalista otimizado para contêineres, que inclui versões mais novas pré-instaladas do Docker, do rkt ou do Kubernetes. As seguintes famílias de imagens públicas são projetadas especificamente para executar contêineres:

  • Container-Optimized OS do Google
  • Inclui: Docker, Kubernetes
  • Projeto da imagem: cos-cloud
  • Família da imagem: cos-stable
  • CoreOS
  • Inclui: Docker, rkt, Kubernetes
  • Projeto da imagem: coreos-cloud
  • Família da imagem: coreos-stable
  • Ubuntu
  • Inclui: LXD
  • Projeto da imagem: ubuntu-os-cloud
  • Família da imagem: ubuntu-1604-lts
  • Windows
  • Inclui: Docker
  • Projeto da imagem: windows-cloud
  • Família da imagem: windows-1709-core-for-containers

Em um ambiente de produção, se você precisar executar ferramentas e tecnologias específicas de contêiner em imagens que não as incluam por padrão, instale essas tecnologias manualmente.

Crie uma instância usando o console

Para executar uma instância do Compute Engine com o Container-Optimized OS e o contêiner do Docker de sua escolha, siga as instruções abaixo:

Clique em Compute Engine > Instâncias de VMs > Criar.

b4ddd59640deb64e.png

Há muitos parâmetros que você pode configurar ao criar uma nova instância. Neste laboratório, use as informações a seguir:

Nome

containerized-vm

Zona

us-central1-a

Tipo de máquina

1 vCPU

Esta é uma instância (n1-standard-1) de 3,75 GB de RAM

Contêiner

Marque a caixa "Implante uma imagem de contêiner nesta instância de VM"

Imagem do contêiner

nginx

Disco de inicialização

"Container-Optimized OS" (valor padrão)

Firewall

Marque a opção "Permitir tráfego HTTP"

a13734dc1caaae0d.png

Clique em Criar.

A instância do Container-Optimized OS com o contêiner do Docker já está funcionando.

Teste a tarefa concluída

Clique em Verificar meu progresso para analisar a tarefa realizada.

Crie uma instância usando o console

Verifique seu ambiente do Docker

Clique em SSH na linha containerized-vm para se conectar via SSH à instância containerized-vm.

Liste todos os contêineres do Docker disponíveis:

sudo docker ps

Exemplo de resposta:

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
c62d762ed91b        nginx               "nginx -g 'daemon ..."   15 minutes ago      Up 15 minutes                           containerized-vm

No console da instância da VM, clique no IP externo da instância containerized-vm, que será aberta em uma nova guia. Você deve ver esta página da Web Nginx padrão:

d9b38e4997e18aa9.png

Outra forma de ver essa página é adicionar o IP externo a http://EXTERNAL_IP em uma nova janela ou guia do navegador.

Crie uma instância usando a CLI

Use a linha de comando do Cloud Shell para criar uma instância do Container-Optimized OS.

No Cloud Shell, insira o comando a seguir para ver quais imagens do Container-Optimized OS estão disponíveis no Google Cloud Platform e criar uma instância.

gcloud compute images list \
    --project cos-cloud \
    --no-standard-images

Use o comando "gcloud beta compute instances create" e adicione as sinalizações --image e --image-project para criar uma instância com a imagem do nó "cos":

 gcloud beta compute instances create-with-container containerized-vm2 \
     --image cos-stable-72-11316-136-0 \
     --image-project cos-cloud \
     --container-image nginx \
     --container-restart-policy always \
     --zone us-central1-a \
     --machine-type n1-standard-1

No exemplo acima, cos-stable-72-11316-136-0 é uma das versões disponíveis de "cos". Use a imagem mais recente da família cos-stable e a substitua por uma imagem da sua instância de VM. Recomendamos que você use a sinalização --preemptible para instâncias experimentais únicas.

Teste a tarefa concluída

Clique em Verificar meu progresso para analisar a tarefa realizada.

Crie uma instância usando a CLI

No Cloud Shell, insira os seguintes comandos para criar regras de firewall que permitem tráfego HTTP da Internet e ativam todo o tráfego interno na VPC:

gcloud compute firewall-rules create allow-containerized-internal\
  --allow tcp:80 \
  --source-ranges 0.0.0.0/0 \
  --network default

Teste a tarefa concluída

Clique em Verificar meu progresso para analisar a tarefa realizada.

Crie regras de firewall para permitir o tráfego HTTP da Internet

Nesta etapa, você precisa do endereço IP externo da sua instância containerized-vm2. Pesquise o endereço na página VM Instances do Console do Cloud Platform.

Em um navegador, informe seu endereço IP externo para verificar se o nginx está em execução:

http://[YOUR_EXTERNAL_IP_ADDRESS]

Você verá a mensagem Welcome to nginx!

Parabéns!

41ab6fa0d099216d.png

Termine a Quest

Continue aprendendo com a Quest Baseline: Deploy & Develop. Uma Quest é uma série de laboratórios relacionados que formam um programa de aprendizado. Concluir esta Quest dá a você o selo acima como reconhecimento da sua conquista. Você pode publicar os selos e incluir um link para eles no seu currículo on-line ou nas redes sociais. Se você já fez este laboratório, inscreva-se nesta Quest para receber os créditos de conclusão imediatamente. Veja outras Quests do Qwiklabs disponíveis.

Próximas etapas / Saiba mais

Este laboratório também faz parte de uma série chamada Qwik Starts. Ela foi desenvolvida para apresentar os vários recursos disponíveis no Google Cloud. Pesquise "Qwik Starts" no catálogo de laboratórios para encontrar algum que seja do seu interesse.

Treinamento e certificação do Google Cloud

...ajuda 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 ajudam você a validar e comprovar suas habilidades e conhecimentos das tecnologias do Google Cloud.

Manual atualizado em 4 de março de 2019
Laboratório testado em 4 de março de 2019

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.