Configure um cluster e uma carga de trabalho para a preparação

Embora os clusters do GKE no modo Autopilot ofereçam predefinições razoáveis para a maioria das definições, é provável que precise de definições diferentes nos seus ambientes de desenvolvimento, preparação e produção.

Objetivos

Aprenda algumas tarefas básicas para configurar um cluster de preparação e testes:

  1. Limitar o acesso ao serviço administrativo do cluster, denominado painel de controlo. Isto impede que utilizadores não autorizados vejam ou alterem as definições do cluster e da carga de trabalho.

  2. Especifique que a sua app precisa de recursos de computação que sejam dimensionados de forma eficiente para cima e para baixo de modo a satisfazer a procura.

  3. Teste o dimensionamento automático, que replica automaticamente os pods quando a procura aumenta acima de um limite especificado.

  4. Ajuste a retenção de registos para manter apenas os registos de que precisa.

  5. Ative o painel de controlo da postura de segurança do GKE.

Estas são apenas algumas das tarefas para promover um cluster do desenvolvimento para a fase de testes. Leia a documentação do GKE para ver a lista completa de tarefas a considerar.


Para seguir orientações passo a passo para esta tarefa diretamente na Google Cloud consola, clique em Orientar-me:

Visita guiada


Custos

Neste documento, usa os seguintes componentes faturáveis do Google Cloud:

Para gerar uma estimativa de custos com base na sua utilização projetada, use a calculadora de preços.

Os novos Google Cloud utilizadores podem ser elegíveis para uma avaliação gratuita.

Quando terminar as tarefas descritas neste documento, pode evitar a faturação contínua eliminando os recursos que criou. Para mais informações, consulte o artigo Limpe.

Antes de começar

Crie um cluster do Kubernetes e implemente uma carga de trabalho. Crie um cluster e implemente uma carga de trabalho mostra-lhe como.

Limite o acesso ao plano de controlo

Para melhorar a sua postura de segurança, permita apenas que uma rede autorizada e a consola e o Cloud Shell acedam ao plano de controlo do seu cluster.Google Cloud

Configure uma rede autorizada

  1. Na Google Cloud consola, aceda à página Clusters do GKE.

    Aceda a Clusters

  2. Na coluna Nome, clique no nome do cluster, hello-world-cluster.

  3. Na linha Redes autorizadas do plano de controlo da tabela Rede, clique em Editar.

  4. Na caixa de diálogo Editar redes autorizadas do plano de controlo, selecione Ativar redes autorizadas do plano de controlo.

  5. Selecione Permitir acesso através de endereços IP públicos do Google Cloud.

    Isto permite-lhe gerir o cluster a partir da consola do Google Cloud e do Cloud Shell

  6. Clique em Adicionar rede autorizada.

  7. Introduza um nome, como A minha rede no local de exemplo.

  8. Em Rede, introduza o intervalo de endereços IP ao qual quer conceder acesso ao plano de controlo do cluster. Use a notação CIDR.

    Por exemplo, introduza o seguinte intervalo:

    198.51.100.0/24
    
  9. Clique em Concluído.

  10. Clique em Guardar alterações.

    Esta operação demora alguns minutos a ser concluída.

  11. Clique no botão Notificações e aguarde até ver uma marca de verificação verde junto a Atualize a definição de redes autorizadas do plano de controlo no cluster "hello-world-cluster" do Kubernetes Engine.

Configurou um plano de controlo do cluster acessível apenas a partir da sua rede autorizada e de endereços IP públicos (o que lhe permite gerir o cluster a partir da Google Cloud consola e do Cloud Shell). Google Cloud

Para ver o endereço IP do plano de controlo do cluster e confirmar os endereços da rede autorizada, clique em Seguinte.

Veja endereços IP

  1. Aceda à página Clusters do GKE.

    Aceda a Clusters

  2. Na coluna Nome, clique no nome do cluster, hello-world-cluster.

  3. Na tabela Noções básicas do cluster, a linha Ponto final externo mostra o endereço IP do plano de controlo do cluster.

  4. Na tabela Networking, a linha Redes autorizadas do plano de controlo mostra os endereços IP da sua rede autorizada.

Agora, só é possível aceder ao plano de controlo do cluster a partir de uma rede autorizada, daGoogle Cloud consola e do Cloud Shell.

Especifique uma classe de computação

Por predefiniçã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 de ser dimensionadas de forma ideal ou que têm outros requisitos únicos, pode especificar uma classe de computação diferente.

Atualize a especificação de implementação

  1. Na Google Cloud consola, aceda à página Cargas de trabalho do GKE.

    Aceda a Cargas de trabalho

  2. Na coluna Nome, clique no nome da app que implementou, hello-world-app.

  3. Clique em Editar para editar a especificação de implementação.

  4. No separador YAML, encontre a linha que começa por containers:

  5. Imediatamente acima desta linha, adicione as seguintes linhas:

    nodeSelector:
      cloud.google.com/compute-class: "Scale-Out"
    

    Certifique-se de que o ficheiro corresponde à indentação no exemplo seguinte:

    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
    
  6. Para transferir este ficheiro e usá-lo como base para outras configurações de carga de trabalho, clique em Transferir.

  7. Clique em Guardar.

Todas as réplicas de pods criadas para executar a sua carga de trabalho usam a classe de computação especificada.

Teste a escala automática

Agora que tem uma carga de trabalho que pode ser dimensionada de forma eficiente, atualize as definições de dimensionamento automático para que a carga de trabalho seja dimensionada mais facilmente. Em seguida, gere carga para acionar o redimensionamento automático.

Atualize as definições da escala automática de pods

  1. Aceda à página Cargas de trabalho do GKE.

    Aceda a Cargas de trabalho

  2. Na coluna Nome, clique no nome da implementação, hello-world-app.

  3. Clique em Ações.

  4. Selecione Escala automática e clique em Escala automática horizontal de pods.

  5. Na caixa de diálogo Configurar escala automática horizontal de pods, em Métricas de escala automática, clique em CPU.

  6. Altere o valor de Target para 2, o que dimensiona automaticamente os seus pods quando usam, pelo menos, 2% dos recursos de CPU configurados. Este valor de destino baixo garante que pode acionar facilmente o ajuste automático no passo seguinte.

  7. Clique em Guardar.

Para acionar o ajuste de escala automático, clique em Seguinte.

Gere carga para acionar o dimensionamento automático

  1. Abra o Cloud Shell clicando em Cloud Shell.

  2. Cole 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 apresentado na coluna Pontos finais.

  3. Prima Enter para executar o comando e enviar 10 000 pedidos para hello-world-app.

  4. Aguarde pela conclusão da execução do comando wget e pelo reaparecimento da linha de comandos.

  5. Pode fechar o Cloud Shell quando o comando wget terminar.

Para ver a sua carga de trabalho ser dimensionada de forma a acomodar o aumento do tráfego, clique em Seguinte.

Monitorize a escala da carga de trabalho

  1. Na página Detalhes da implementação da sua carga de trabalho, procure no gráfico CPU um pico na utilização da CPU.

    Pode ter de aguardar até 5 minutos para ver o pico.

  2. Clique em Atualizar para se certificar de que a página Detalhes da implementação mostra os dados mais recentes.

  3. Procure na tabela Pods geridos para ver que estão a ser executadas três réplicas da sua carga de trabalho.

    Inicialmente, pode ver erros sobre Pods não agendáveis, mas estas mensagens são transitórias à medida que as réplicas são iniciadas.

  4. Pode aguardar cerca de 10 minutos, clicar em Atualizar e ver que a utilização da CPU diminuiu e, por isso, o número de pods em Pods geridos volta a ser um.

Testou o ajuste automático e viu a sua carga de trabalho ser ajustada.

Ajuste a retenção de registos

Por predefinição, o Cloud Logging carrega todos os registos dos seus clusters do GKE. O carregamento de grandes quantidades de dados de registos pode resultar numa taxa. Para garantir que está a carregar apenas os dados de registos de que precisa para o ambiente de preparação, ajuste a retenção de registos.

Crie um filtro de registos

  1. Na Google Cloud consola, aceda à página Explorador de registos:

    Aceda ao Explorador de registos

    Se usar a barra de pesquisa para encontrar esta página, selecione o resultado cuja legenda é Registo.

    Tenha em atenção que o painel Resultados da consulta mostra registos de todos os recursos no seu projeto.

  2. Acima dos resultados da consulta:

    1. Clique em Recurso.

    2. Pesquise cluster do Kubernetes e, de seguida, clique no resultado.

    3. Clique em us-central-1.

    4. Clique em hello-world-cluster.

    5. Clique em Aplicar.

  3. Clique em Gravidade e selecione Informações (que muda para Informações e superior quando passa o cursor do rato sobre a opção).

  4. Clique em Executar consulta.

  5. Tenha em atenção que os resultados da consulta contêm agora apenas mensagens INFO do seu cluster de preparação.

  6. Copie a consulta do editor de consultas. Vai colar esta consulta quando criar um filtro para o seu coletor de registos.

Para criar um destino de registo e um contentor de armazenamento, clique em Seguinte.

Crie um coletor de registos e um contentor de armazenamento

  1. Aceda à página Logging Log router.

    Aceder ao registo do router

  2. Clique em Criar destino.

  3. Em Nome, introduza o seguinte nome:

    hello-world-cluster-sink
    
  4. Clicar em Seguinte.

  5. Em Selecionar serviço de destino, selecione Bucket de registo.

  6. Em Selecionar um contentor de registos, selecione Criar novo contentor de registos.

  7. Em Detalhes do contentor, introduza um nome exclusivo, como:

    hello-world-bucket-<var>user-id</var>
    
  8. Clique em Criar contentor.

  9. Em Destino de sincronização, clique em Seguinte.

  10. Em Criar filtro de inclusão, cole a consulta que criou no Explorador de registos.

  11. Clique em Criar destino.

Para ver os registos do cluster, que estão armazenados no contentor de registos que criou, clique em Seguinte.

Veja os registos do cluster

  1. Na Google Cloud consola, aceda à página Explorador de registos:

    Aceda ao Explorador de registos

    Se usar a barra de pesquisa para encontrar esta página, selecione o resultado cuja legenda é Registo.

  2. Clique em Refinar âmbito.

  3. Selecione Vista de registo.

  4. Selecione a vista _AllLogs para o seu contentor de registos.

  5. Clique em Aplicar.

    Os resultados da consulta mostram apenas os registos armazenados no seu contentor de registos.

Ajustou a retenção de registos para que o cluster de preparação não armazene mensagens de depuração. Pode definir autorizações para que apenas determinados utilizadores possam ver os registos no contentor do seu cluster.

Ative o painel de controlo da postura de segurança

O painel de controlo da postura de segurança analisa os seus clusters e cargas de trabalho do GKE para lhe fornecer recomendações práticas e fundamentadas para melhorar a sua postura de segurança.

Explore quaisquer preocupações

  1. Aceda à página Posição de segurança do GKE.

    Aceda à postura de segurança

  2. Se lhe for pedido para ativar a API Container Security, clique em Ativar.

  3. O separador Painéis de controlo resume as preocupações relativas aos clusters e às cargas de trabalho do seu projeto.

  4. Clique no separador Preocupações.

  5. Se aparecerem preocupações no separador, clique na preocupação para ver mais informações.

Concluiu algumas das tarefas básicas para configurar um cluster para a preparação e testar a sua app.

O que se segue?