Objetivos
Aprenda algumas tarefas básicas para configurar um cluster de preparo e teste:Limitar o acesso ao serviço administrativo do cluster, chamado plano de controle. Isso impede que usuários não autorizados visualizem ou alterem as configurações do cluster e da carga de trabalho.
Especifique que o aplicativo precisa de recursos de computação que sejam escalonados de maneira eficiente para atender à demanda.
Teste o escalonamento automático, que replica automaticamente os pods quando a demanda aumenta além do limite especificado.
Ajuste a retenção para manter apenas os registros necessários.
Ative o painel de postura de segurança do GKE.
Essas são apenas algumas das tarefas para promover um cluster do desenvolvimento ao preparo. Leia a documentação do GKE para a lista completa de tarefas a serem consideradas.
Para seguir as instruções passo a passo desta tarefa diretamente no console do Google Cloud, clique em Orientação:
Custos
Neste documento, você usará os seguintes componentes faturáveis do Google Cloud:
Para gerar uma estimativa de custo baseada na projeção de uso deste tutorial, use a calculadora de preços.
Ao concluir as tarefas descritas neste documento, é possível evitar o faturamento contínuo excluindo os recursos criados. Saiba mais em Limpeza.
Antes de começar
Crie um cluster do Kubernetes e implante uma carga de trabalho. Criar um cluster e implantar uma carga de trabalho mostra como fazer isso.
Limitar o acesso ao plano de controle
Para melhorar a postura de segurança, permita que apenas uma rede autorizada e o console do Google Cloud e o Cloud Shell acessem o plano de controle do cluster.
Configurar uma rede autorizada
No console do Google Cloud, acesse a página Clusters do GKE.
Na coluna Nome, clique no nome do seu cluster, hello-world-cluster.
Na linha
Redes autorizadas do plano de controle da tabela "Rede", clique em Editar.Na caixa de diálogo "Editar redes autorizadas do plano de controle", selecione Ativar redes autorizadas do plano de controle.
Selecione Acesso usando endereços IP públicos do Google Cloud.
Isso permite que você gerencie o cluster no console do Google Cloud e no Cloud Shell.
Clique em Adicionar rede autorizada.
Digite um nome, como My example on-prem network.
Em Rede, insira o intervalo de endereços IP a que você quer conceder acesso ao plano de controle do cluster. Use a notação CIDR.
Por exemplo, insira o seguinte intervalo:
198.51.100.0/24
Clique em Concluído.
Clique em Salvar alterações.
Essa operação leva alguns minutos para ser concluída.
Clique no botão
Notificações e aguarde até aparecer uma marca de seleção verde ao lado de Atualizar a configuração de redes autorizadas do plano de controle no cluster "hello-world-cluster" do Kubernetes Engine.
Você configurou um plano de controle de cluster que só pode ser acessado por meio da rede autorizada e dos endereços IP públicos do Google Cloud, o que permite que você gerencie o cluster no console do Google Cloud e no Cloud Shell.
Para acessar o endereço IP do plano de controle do cluster e confirmar os endereços da rede autorizada, clique em Próxima.
Acessar endereços IP
Acessar a página de Clusters do GKE.
Na coluna Nome, clique no nome do seu cluster, hello-world-cluster.
Na tabela Princípios básicos do cluster, a linha Endpoint externo mostra o endereço IP do plano de controle do cluster.
Na tabela Rede, a linha Redes autorizadas do plano de controle mostra os endereços IP da rede autorizada.
Agora, o plano de controle do cluster só pode ser acessado em uma rede autorizada, no console do Google Cloud e no Cloud Shell.
Especificar uma classe de computação
Por padrão, os pods do GKE Autopilot usam recursos de computação otimizados para cargas de trabalho de uso geral. Para cargas de trabalho que precisam ser escalonadas de maneira otimizada ou que tenham outros requisitos exclusivos, especifique uma classe de computação diferente.
Atualizar a especificação da implantação
No console do Google Cloud, acesse a página Cargas de trabalho do GKE.
Na coluna Nome, clique no nome do aplicativo que você implantou, hello-world-app.
Clique em
Editar para editar a especificação de implantação.Na guia YAML, encontre a linha que começa com
containers:
.Acima dessa linha, adicione as seguintes linhas:
nodeSelector: cloud.google.com/compute-class: "Scale-Out"
Verifique se o arquivo corresponde ao recuo no exemplo a seguir:
apiVersion: apps/v1 kind: Deployment ... spec: ... template: ... spec: nodeSelector: cloud.google.com/compute-class: "Scale-Out" containers: - name: hello-app image: us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0
Para fazer o download desse arquivo e usá-lo como base para outras configurações de carga de trabalho, clique em
Fazer o download .Clique em Save.
As réplicas de pod criadas para executar a carga de trabalho usarão a classe de computação especificada.
Teste o escalonamento automático
Agora que você tem uma carga de trabalho que pode ser escalonada com eficiência, atualize as configurações de escalonamento automático para facilitar o escalonamento vertical dela. Em seguida, gere carga para acionar o escalonamento automático.
Atualizar as configurações de escalonamento automático do pod
Acesse a página Cargas de trabalho do GKE.
Na coluna Nome, clique no nome da sua implantação, hello-world-app.
Clique em
Ações .Selecione Escalonamento automático e clique em Escalonamento automático horizontal de pods.
Na caixa de diálogo Configurar escalonador automático horizontal de pods, em Métricas de escalonamento automático, clique em CPU.
Altere o valor de Target para 2, o que escalona automaticamente os pods quando eles usarem pelo menos 2% dos recursos de CPU configurados. Esse valor desejado baixo garante que você consiga acionar facilmente o escalonamento automático na próxima etapa.
Clique em Save.
Para acionar o escalonamento automático, clique em Próxima.
Gerar carga para acionar o escalonamento automático
Para abrir o Cloud Shell, clique em
Cloud Shell .Copie o seguinte comando no Cloud Shell:
for i in $(seq -s' ' 1 10000); do wget -q -O- <var>external-IP-address</var>; done
Substitua external-IP-address pelo endereço IP que aparece na coluna
Endpoints .Pressione Enter para executar o comando e enviar 10.000 solicitações para hello-world-app.
Aguarde até que o comando
wget
termine a execução e o prompt de linha de comando reapareça.Você pode fechar o Cloud Shell quando o comando
wget
for concluído.
Para observar a escala da carga de trabalho para acomodar o aumento do tráfego, clique em Próxima.
Acompanhe a escala da sua carga de trabalho
Na página Detalhes da implantação da carga de trabalho, procure no pico de uso da CPU no gráfico
CPU .Talvez seja necessário aguardar até cinco minutos para ver o pico.
Clique em
Atualizar para garantir que a página Detalhes da implantação mostre os dados mais recentes.Na tabela Pods gerenciados, veja que três réplicas da sua carga de trabalho estão em execução.
Você pode ver inicialmente erros sobre pods não programáveis, mas essas mensagens são transitórias quando as réplicas são iniciadas.
Aguarde cerca de 10 minutos, clique em
Atualizar e confira que o uso da CPU diminuiu e, portanto, o número de pods em Pods gerenciados retorna para um.
Você testou o escalonamento automático e assistiu à sua escala de carga de trabalho.
Ajustar retenção de registros
Por padrão, o Cloud Logging ingere todos os registros dos clusters do GKE. A ingestão de grandes quantidades de dados de registros pode resultar em uma taxa. Para garantir a ingestão apenas dos dados de registros necessários para o ambiente de teste, ajuste a retenção de registros.
Criar um filtro de registros
-
No console do Google Cloud, acesse a página Análise de registros.
Acessar a Análise de registros
Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Logging.
Observe que o painel
Query results mostra registros de todos os recursos no projeto. Acima dos resultados da consulta:
Clique em
Recurso .Pesquise o cluster do Kubernetes e clique nele.
Clique em us-central-1.
Clique em hello-world-cluster.
Clique em Aplicar.
Clique em
Gravidade e selecione Informações, que muda para Informações e versões mais recentes ao passar o cursor.Clique em
Executar consulta .Os resultados da consulta agora contêm apenas mensagens INFO do cluster de preparo.
Copie a consulta do editor de consultas. Você colará essa consulta ao criar um filtro para o coletor de registros.
Para criar um coletor de registros e um bucket de armazenamento, clique em Próxima.
Criar um coletor de registros e um bucket de armazenamento
Acesse a página Roteador de registros do Logging.
Clique em
Criar coletor .Em Nome, digite o seguinte:
hello-world-cluster-sink
Clique em Next.
Em Selecionar serviço de coletor, selecione bucket do Logging.
Em Selecionar um bucket de registros, selecione Criar novo bucket de registros.
Em Detalhes do bucket, insira um nome exclusivo, como o seguinte:
hello-world-bucket-<var>user-id</var>
Clique em Criar bucket.
Em Destino do coletor, clique em Próxima.
Em Criar filtro de inclusão, cole a consulta que você criou na Análise de registros.
Clique em Criar coletor.
Para ver os registros no bucket do cluster, clique em Próxima.
Acessar os registros do cluster
-
No console do Google Cloud, acesse a página Análise de registros.
Acessar a Análise de registros
Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Logging.
Clique em
Refinar escopo .Selecione Escopo por armazenamento.
Selecionar
/bucket-name .Clique em Aplicar.
Os resultados da consulta mostram apenas os registros armazenados no bucket do cluster.
Você ajustou a retenção de registros para que o cluster de preparo não armazene mensagens DEBUG. É possível definir permissões para que apenas determinados usuários possam visualizar os registros no bucket do cluster.
Ativar o painel de postura de segurança
O painel de postura de segurança analisa os clusters e as cargas de trabalho do GKE para fornecer recomendações opinativas e acionáveis para melhorar a postura de segurança.
Expressar qualquer preocupação
Acesse a página Postura de segurança do GKE.
Se for solicitado que você ative a API Container Security, clique em Ativar.
A guia Painéis resume as preocupações relacionadas aos clusters e às cargas de trabalho do projeto.
Clique na guia Preocupações.
Se alguma preocupação aparecer na guia, clique nela para acessar mais informações.
Você concluiu algumas tarefas básicas para configurar um cluster para preparar e testar o aplicativo.
A seguir
Faça uma limpeza para evitar cobranças. Se você planeja conferir outros tutoriais, aguarde até que eles sejam concluídos antes de fazer a limpeza. É possível usar o cluster de exemplo do Kubernetes na maioria dos tutoriais do GKE.