Escalonar cargas de trabalho com estado

Neste documento, descrevemos como escalonar cargas de trabalho com estado em execução em um cluster do Kubernetes com isolamento físico do Google Distributed Cloud (GDC). É necessário escalonar os pods em execução nas suas cargas de trabalho com estado à medida que os requisitos de carga de trabalho do contêiner evoluem.

Este documento é destinado a desenvolvedores do grupo de operadores de aplicativos responsáveis por gerenciar cargas de trabalho de aplicativos na organização. Para mais informações, consulte Públicos-alvo da documentação do GDC com isolamento físico.

Antes de começar

Para concluir as tarefas neste documento, você precisa dos seguintes recursos e papéis:

  • Para executar comandos em um cluster do Kubernetes, verifique se você tem os seguintes recursos:

    • Localize o nome do cluster do Kubernetes ou pergunte a um membro do grupo de administradores da plataforma.

    • Faça login e gere o arquivo kubeconfig para o cluster do Kubernetes se você não tiver um.

    • Use o caminho kubeconfig do cluster do Kubernetes para substituir KUBERNETES_CLUSTER_KUBECONFIG nestas instruções.

  • Para receber as permissões necessárias para escalonar cargas de trabalho com estado em um cluster compartilhado, peça ao administrador do IAM da organização para conceder a você o papel de administrador do namespace (namespace-admin) no namespace do projeto.

  • Para receber as permissões necessárias para escalonar cargas de trabalho com estado em um cluster padrão, peça ao administrador do IAM da organização para conceder a você o papel de desenvolvedor de cluster (cluster-developer) em um cluster padrão.

Escalonar um recurso StatefulSet

Use a funcionalidade de escalonamento do Kubernetes para ajustar adequadamente a quantidade de pods em execução no recurso StatefulSet.

Escalonar manualmente os pods de um recurso StatefulSet

Para escalonar manualmente o recurso StatefulSet, execute:

kubectl --kubeconfig KUBERNETES__CLUSTER_KUBECONFIG -n NAMESPACE \
    scale statefulset STATEFULSET_NAME \
    --replicas NUMBER_OF_REPLICAS

Substitua:

  • KUBERNETES_CLUSTER_KUBECONFIG: o arquivo kubeconfig do cluster.

  • NAMESPACE: o namespace. Para clusters compartilhados, esse precisa ser um namespace do projeto. Para clusters padrão, pode ser qualquer namespace.

  • STATEFULSET_NAME: o nome do objeto StatefulSet em que dimensionar.

  • NUMBER_OF_REPLICAS: o número de objetos Pod replicados no objeto StatefulSet.

Escalonar os pods fazendo uma atualização no local

Para escalonar os pods de um recurso StatefulSet diretamente no arquivo de manifesto, execute:

kubectl --kubeconfig KUBERNETES__CLUSTER_KUBECONFIG -n NAMESPACE \
    patch statefulsets STATEFULSET_NAME \
    -p '{"spec":{"replicas":NUMBER_OF_REPLICAS}}'

Substitua:

  • KUBERNETES__CLUSTER_KUBECONFIG: o arquivo kubeconfig do cluster.

  • NAMESPACE: o namespace. Para clusters compartilhados, esse precisa ser um namespace do projeto. Para clusters padrão, pode ser qualquer namespace.

  • STATEFULSET_NAME: o nome do objeto StatefulSet em que dimensionar.

  • NUMBER_OF_REPLICAS: o número de objetos Pod replicados no objeto StatefulSet.

A seguir