arrow_back

Como configurar um cluster particular do Kubernetes

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

Como configurar um cluster particular do Kubernetes

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

GSP178

Laboratórios autoguiados do Google Cloud

Visão geral

No Kubernetes Engine, um cluster particular é aquele que torna a instância mestra inacessível na Internet pública. Em um cluster particular, os nós não têm endereços IP públicos, somente endereços particulares. Portanto, as cargas de trabalho são executadas em um ambiente isolado. Os nós e as instâncias mestres comunicam-se usando o peering da VPC.

Na API Kubernetes Engine, os intervalos de endereços são expressos como blocos de roteamento entre domínios sem classe (CIDR).

Neste laboratório, você aprenderá a criar um cluster particular do Kubernetes.

Atividade deste laboratório

  • Criação de um cluster particular do Kubernetes.

Pré-requisitos

  • Ter experiência em criar e iniciar clusters do Kubernetes e conhecer a fundo o endereçamento IP nos formatos de intervalo CIDR.

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.

Tarefa 1. Configurar região e zona

  1. Defina a região do projeto neste laboratório:
gcloud config set compute/zone {{{project_0.default_zone | "Zone"}}}
  1. Crie uma variável para a região:
export REGION={{{project_0.default_region | Region}}}
  1. Crie uma variável para a zona:
export ZONE={{{project_0.default_zone | Zone}}}

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

Observação: quando você executa a gcloud na sua máquina, as configurações continuam as mesmas em todas as sessões. Porém, no Cloud Shell, elas precisam ser definidas a cada nova sessão ou reconexão.

Tarefa 2. Criar um cluster particular

  1. Ao criar um cluster particular, você precisa especificar um intervalo de CIDR /28 para as VMs que executam os componentes principais do Kubernetes. Também é necessário ativar os aliases de IP.

Depois disso, você criará um cluster private-cluster e especificará o intervalo de CIDR 172.16.0.16/28 para os componentes principais. Ao ativar os aliases de IP, você permite que o Kubernetes Engine crie uma sub-rede automaticamente.

Crie o cluster particular usando as sinalizações --private-cluster, --master-ipv4-cidr e --enable-ip-alias.

  1. Para criar o cluster, execute o seguinte comando:
gcloud beta container clusters create private-cluster \ --enable-private-nodes \ --master-ipv4-cidr 172.16.0.16/28 \ --enable-ip-alias \ --create-subnetwork ""

Teste a tarefa concluída

Clique em Verificar meu progresso para conferir a tarefa realizada. Se o cluster particular tiver sido criado corretamente, você receberá uma pontuação de avaliação.

Criar um cluster particular

Tarefa 3. Acessar a sub-rede e os intervalos de endereços secundários

  1. Liste as sub-redes da rede padrão:
gcloud compute networks subnets list --network default
  1. Na saída, encontre o nome da sub-rede que foi criada automaticamente para o cluster. Por exemplo, gke-private-cluster-subnet-xxxxxxxx. Salve o nome do cluster, porque você vai precisar dele na próxima etapa.

  2. Agora, use o comando a seguir para descobrir informações sobre a sub-rede criada automaticamente, substituindo [SUBNET_NAME] pelo nome da sua sub-rede:

gcloud compute networks subnets describe [SUBNET_NAME] --region=$REGION

A saída mostra o intervalo de endereços principal com o nome do cluster particular do GKE e os intervalos secundários:

... ipCidrRange: 10.0.0.0/22 kind: compute#subnetwork name: gke-private-cluster-subnet-163e3c97 ... privateIpGoogleAccess: true ... secondaryIpRanges: - ipCidrRange: 10.40.0.0/14 rangeName: gke-private-cluster-pods-163e3c97 - ipCidrRange: 10.0.16.0/20 rangeName: gke-private-cluster-services-163e3c97 ...

A saída mostra que um dos intervalos secundários é para pods e o outro é para services.

Observe que privateIPGoogleAccess está definido como true. Isso permite que os hosts de cluster, que só usam endereços IP particulares, se comuniquem com APIs e Serviços do Google.

Tarefa 4. Ativar redes mestras autorizadas

A esta altura, os únicos endereços IP que têm acesso à instância mestra são os endereços nestes intervalos:

  • O intervalo principal da sub-rede. É o intervalo usado para nós.
  • O intervalo secundário da sub-rede usado para pods.

Para oferecer acesso adicional à instância mestre, é preciso autorizar intervalos de endereços selecionados.

Crie uma instância de VM

  1. Crie uma instância de origem para verificar a conectividade com os clusters do Kubernetes:
gcloud compute instances create source-instance --zone=$ZONE --scopes 'https://www.googleapis.com/auth/cloud-platform'

Teste a tarefa concluída

Clique em Verificar meu progresso para conferir a tarefa realizada. Se a instância de VM tiver sido criada corretamente, você receberá uma pontuação de avaliação.

Criar uma instância de VM
  1. Descubra o <External_IP> da source-instance com:
gcloud compute instances describe source-instance --zone=$ZONE | grep natIP

Exemplo de saída:

natIP: 35.192.107.237
  1. Copie o endereço <nat_IP> e salve-o para as próximas etapas.

  2. Para autorizar seu intervalo de endereços externos, execute o código a seguir, substituindo [MY_EXTERNAL_RANGE] pelo intervalo CIDR da saída anterior (natIP/32). Quando definimos o intervalo CIDR como natIP/32, colocamos um endereço IP específico na lista de permissões:

gcloud container clusters update private-cluster \ --enable-master-authorized-networks \ --master-authorized-networks [MY_EXTERNAL_RANGE] Observação: em um ambiente de produção, substitua [MY_EXTERNAL_RANGE] pelo intervalo CIDR de endereços externos da rede.

Teste a tarefa concluída

Clique em Verificar meu progresso para conferir a tarefa realizada. Se o intervalo de endereços externos tiver sido criado corretamente, você receberá uma pontuação de avaliação.

Autorizar o intervalo de endereços externos

Agora que você tem acesso à instância mestra por um intervalo de endereços externos, instale o kubectl para descobrir informações sobre seu cluster. Por exemplo, use o kubectl para verificar se os nós não têm endereços IP externos.

  1. Use o SSH na source-instance com:
gcloud compute ssh source-instance --zone=$ZONE
  1. Pressione Y para continuar. Depois, pressione Enter nas perguntas de senha longa.

  2. No shell SSH, instale o componente kubectl do SDK Cloud:

sudo apt-get install kubectl
  1. No shell SSH, configure o acesso ao cluster do Kubernetes com:
sudo apt-get install google-cloud-sdk-gke-gcloud-auth-plugin gcloud container clusters get-credentials private-cluster --zone=$ZONE Observação: verifique se a zona atribuída foi exportada na variável ZONE.
  1. Confirme que os nós do cluster não têm endereços IP externos:
kubectl get nodes --output yaml | grep -A4 addresses

A saída mostra que os nós têm endereços IP internos, mas não externos:

... addresses: - address: 10.0.0.4 type: InternalIP - address: "" type: ExternalIP ...
  1. Este outro comando também pode ser usado para verificar se os nós estão com endereços IP externos:
kubectl get nodes --output wide

A saída mostra uma coluna vazia para EXTERNAL-IP:

STATUS ... VERSION EXTERNAL-IP OS-IMAGE ... Ready v1.8.7-gke.1 Container-Optimized OS from Google Ready v1.8.7-gke.1 Container-Optimized OS from Google Ready v1.8.7-gke.1 Container-Optimized OS from Google
  1. Feche o shell SSH digitando:
exit

Tarefa 5. Limpeza

  1. Exclua o cluster do Kubernetes:
gcloud container clusters delete private-cluster --zone=$ZONE
  1. Pressione Y para continuar.

Teste a tarefa concluída

Clique em Verificar meu progresso para conferir a tarefa realizada. Se o cluster do Kubernetes tiver sido excluído corretamente, você receberá uma pontuação de avaliação.

Excluir o cluster do Kubernetes

Tarefa 6. Criar um cluster particular que usa uma sub-rede personalizada

Na seção anterior, o Kubernetes Engine criou automaticamente uma sub-rede. Nesta seção, você criará sua própria sub-rede personalizada e um cluster particular. A sub-rede tem um intervalo de endereços principal e dois intervalos de endereços secundários.

  1. Crie uma sub-rede e os intervalos secundários:
gcloud compute networks subnets create my-subnet \ --network default \ --range 10.0.4.0/22 \ --enable-private-ip-google-access \ --region=$REGION \ --secondary-range my-svc-range=10.0.32.0/20,my-pod-range=10.4.0.0/14

Teste a tarefa concluída

Clique em Verificar meu progresso para conferir a tarefa realizada. Se uma sub-rede e os intervalos secundários tiverem sido criados corretamente na região, você receberá uma pontuação de avaliação.

Criar uma sub-rede e os intervalos secundários na região
  1. Crie um cluster particular que use a sub-rede:
gcloud beta container clusters create private-cluster2 \ --enable-private-nodes \ --enable-ip-alias \ --master-ipv4-cidr 172.16.0.32/28 \ --subnetwork my-subnet \ --services-secondary-range-name my-svc-range \ --cluster-secondary-range-name my-pod-range \ --zone=$ZONE

Teste a tarefa concluída

Clique em Verificar meu progresso para conferir a tarefa realizada. Se você tiver criado um cluster particular que use sua sub-rede corretamente, você receberá uma pontuação de avaliação.

Criar um cluster particular que use a sub-rede
  1. Extraia o intervalo de endereços externos da instância de origem:
gcloud compute instances describe source-instance --zone=$ZONE | grep natIP

Exemplo de saída:

natIP: 35.222.210.67
  1. Copie o endereço <nat_IP> e salve-o para as próximas etapas.

  2. Para autorizar seu intervalo de endereços externos, execute o código a seguir, substituindo [MY_EXTERNAL_RANGE] pelo intervalo CIDR da saída anterior (natIP/32). Quando definimos o intervalo CIDR como natIP/32, colocamos um endereço IP específico na lista de permissões:

gcloud container clusters update private-cluster2 \ --enable-master-authorized-networks \ --zone=$ZONE \ --master-authorized-networks [MY_EXTERNAL_RANGE]

Teste a tarefa concluída

Clique em Verificar meu progresso para conferir a tarefa realizada. Se tiver autorizado corretamente o intervalo de endereços externos para um cluster particular em uma sub-rede personalizada, você receberá uma pontuação de avaliação.

Autorizar o intervalo de endereços externos para um cluster particular em uma sub-rede personalizada
  1. Use o SSH na source-instance com:
gcloud compute ssh source-instance --zone=$ZONE
  1. No shell SSH, configure o acesso ao cluster do Kubernetes com:
gcloud container clusters get-credentials private-cluster2 --zone=$ZONE Observação: verifique se a zona atribuída foi exportada na variável ZONA.
  1. Confirme que os nós do cluster não têm endereços IP externos:
kubectl get nodes --output yaml | grep -A4 addresses

A saída mostra que os nós têm endereços IP internos, mas não externos:

... addresses: - address: 10.0.4.3 type: InternalIP ...

A esta altura, os únicos endereços IP que têm acesso à instância mestra são os endereços nestes intervalos:

  • O intervalo principal da sub-rede. É o intervalo usado para nós. Neste exemplo, o intervalo dos nós é 10.0.4.0/22.
  • O intervalo secundário da sub-rede usado para pods. Neste exemplo, o intervalo de pods é 10.4.0.0/14.

Parabéns!

Você concluiu este laboratório prático sobre como criar um cluster particular do Kubernetes.

Termine a Quest

Este laboratório autoguiado faz parte da Quest Security & Identity Fundamentals. Uma Quest é uma série de laboratórios relacionados que formam um programa de aprendizado. Ao concluir uma Quest, você ganha um selo como reconhecimento da sua conquista. Você pode publicar os selos com um link para eles no seu currículo on-line ou nas redes sociais. Faça sua inscrição nesta Quest ou em outra que tenha este laboratório para receber os créditos de conclusão imediatamente. Acesse o catálogo para conferir todas as Quests disponíveis.

Comece o próximo laboratório

Continue sua Quest com Como proteger o Google Cloud usando o CFT Scorecard ou confira estes laboratórios:

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 20 de setembro de 2023

Laboratório testado em 20 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.