Implemente cargas de trabalho de terceiros no Config Controller

Esta página explica como implementar as suas próprias cargas de trabalho em clusters do Config Controller.

Esta página destina-se a administradores de TI e operadores que gerem o ciclo de vida da infraestrutura tecnológica subjacente e planeiam a capacidade, e implementam apps e serviços na produção. Para saber mais sobre as funções comuns e exemplos de tarefas que referimos no Google Cloud conteúdo, consulte Funções e tarefas comuns do utilizador do GKE.

Antes de começar

Antes de começar, certifique-se de que realizou as seguintes tarefas:

  1. Configure o Config Controller.
  2. Se o cluster do Config Controller estiver numa versão do GKE anterior à versão 1.27, atualize o cluster para a versão 1.27 ou posterior.

Ative o aprovisionamento automático de nós em clusters Standard

Tem de ativar o aprovisionamento automático de nós para implementar as suas próprias cargas de trabalho em clusters do Config Controller. Isto permite a separação da carga de trabalho entre as suas cargas de trabalho e as cargas de trabalho geridas pela Google instaladas por predefinição em clusters do Config Controller.

Se usar clusters do Autopilot, não precisa de ativar o aprovisionamento automático de nós, porque o GKE gere automaticamente o escalamento e o aprovisionamento de nós.

gcloud

Para ativar o aprovisionamento automático de nós, execute o seguinte comando:

gcloud container clusters update CLUSTER_NAME \
    --enable-autoprovisioning \
    --min-cpu MINIMUM_CPU \
    --min-memory MIMIMUM_MEMORY \
    --max-cpu MAXIMUM_CPU \
    --max-memory MAXIMUM_MEMORY \
    --autoprovisioning-scopes=https://www.googleapis.com/auth/logging.write,https://www.googleapis.com/auth/monitoring,https://www.googleapis.com/auth/devstorage.read_only

Substitua o seguinte:

  • CLUSTER_NAME: o nome do cluster do Config Controller.
  • MINIMUM_CPU: o número mínimo de núcleos no cluster.
  • MINIMUM_MEMORY: o número mínimo de gigabytes de memória no cluster.
  • MAXIMUM_CPU: o número máximo de núcleos no cluster.
  • MAXIMUM_MEMORY: o número máximo de gigabytes de memória no cluster.

Consola

Para ativar o aprovisionamento automático de nós, siga estes passos:

  1. Aceda à página do Google Kubernetes Engine na Google Cloud consola.

    Aceda ao Google Kubernetes Engine

  2. Clique no nome do cluster.

  3. Na secção Automatização, para Aprovisionamento automático de nós, clique em Editar.

  4. Selecione a caixa de verificação Ativar aprovisionamento automático de nós.

  5. Defina a utilização mínima e máxima da CPU e da memória para o cluster.

  6. Clique em Guardar alterações.

Para mais informações sobre a configuração do aprovisionamento automático de nós, como a definição de predefinições, consulte o artigo Configure o aprovisionamento automático de nós.

Implemente a sua carga de trabalho

Quando implementa as suas cargas de trabalho, o Config Controller ativa automaticamente o GKE Sandbox para fornecer uma camada adicional de segurança para impedir que o código não fidedigno afete o kernel anfitrião nos nós do cluster. Para mais informações, consulte o artigo Acerca do GKE Sandbox.

Pode implementar uma carga de trabalho escrevendo um ficheiro de manifesto da carga de trabalho e, em seguida, executando o seguinte comando:

kubectl apply -f WORKLOAD_FILE

Substitua WORKLOAD_FILE pelo ficheiro de manifesto, como my-app.yaml.

Confirme se a sua carga de trabalho está a ser executada nos nós aprovisionados automaticamente:

  1. Obtenha a lista de nós criados para a sua carga de trabalho:

    kubectl get nodes
  2. Inspecione um nó específico:

    kubectl get nodes NODE_NAME -o yaml

    Substitua NODE_NAME pelo nome do nó que quer inspecionar.

Limitações

  • GKE Sandbox: o GKE Sandbox funciona bem com muitas aplicações, mas não com todas. Para mais informações, consulte as limitações do GKE Sandbox.
  • Segurança do plano de controlo: quando conceder autorização para as suas cargas de trabalho, use o princípio do menor privilégio para conceder apenas as autorizações de que precisa. Se a sua carga de trabalho for comprometida, pode usar autorizações excessivamente permissivas para alterar ou eliminar recursos do Kubernetes.
  • Disponibilidade do plano de controlo: se as suas cargas de trabalho causarem um aumento do tráfego num curto período de tempo, o plano de controlo do cluster pode ficar indisponível até o tráfego diminuir.
  • Redimensionamento do plano de controlo: o GKE redimensiona automaticamente o plano de controlo conforme necessário. Se a sua carga de trabalho causar um grande aumento da carga (por exemplo, instalar milhares de objetos CRD), a alteração do tamanho automática do GKE pode não conseguir acompanhar o aumento da carga.
  • Quotas: quando implementar cargas de trabalho, deve ter em atenção as quotas e os limites do GKE e não os exceder.
  • Acesso à rede ao plano de controlo e aos nós: o Config Controller usa nós privados com redes autorizadas principais ativadas, ponto final privado ativado e acesso público desativado. Para mais informações, consulte o artigo Segurança de rede do GKE.

O que se segue?