Escalonar cargas de trabalho sem estado

Escalone suas cargas de trabalho sem estado de acordo com os requisitos de carga de trabalho de contêiner em constante mudança.

Antes de começar

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

  1. Localize o nome do cluster do Kubernetes ou pergunte ao administrador da plataforma.

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

  3. 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 sem estado, 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.

Escalonar uma implantação

Aproveite a funcionalidade de escalonamento do Kubernetes para dimensionar adequadamente a quantidade de pods em execução na sua implantação.

Fazer o escalonamento automático dos pods de uma implantação

O Kubernetes oferece escalonamento automático para remover a necessidade de atualizar manualmente sua implantação quando a demanda evolui. Defina o escalonador automático horizontal de pods na sua implantação para ativar esse recurso:

kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG \
    -n NAMESPACE \
    autoscale deployment DEPLOYMENT_NAME \
    --cpu-percent=CPU_PERCENT \
    --min=MIN_NUMBER_REPLICAS \
    --max=MAX_NUMBER_REPLICAS

Substitua:

  • KUBERNETES_CLUSTER_KUBECONFIG: o arquivo kubeconfig do cluster.

  • NAMESPACE: o namespace do projeto.

  • DEPLOYMENT_NAME: o nome da implantação em que fazer o escalonamento automático.

  • CPU_PERCENT: a meta de uso médio da CPU a ser solicitada, representada como uma porcentagem, em todos os pods.

  • MIN_NUMBER_REPLICAS: o limite inferior para o número de pods que o escalonador automático pode provisionar.

  • MAX_NUMBER_REPLICAS: o limite superior para o número de pods que o escalonador automático pode provisionar.

Para verificar o status atual do escalonador automático horizontal de pods recém-criado, execute:

kubectl get hpa

O resultado será semelhante ao seguinte:

NAME              REFERENCE                          TARGET    MINPODS   MAXPODS   REPLICAS   AGE
DEPLOYMENT_NAME   Deployment/DEPLOYMENT_NAME/scale   0% / 50%  1         10        1          18s

Escalonar manualmente os pods de uma implantação

Se você preferir escalonar uma implantação manualmente, execute:

kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG \
    -n NAMESPACE \
    scale deployment DEPLOYMENT_NAME \
    --replicas NUMBER_OF_REPLICAS

Substitua:

  • KUBERNETES_CLUSTER_KUBECONFIG: o arquivo kubeconfig do cluster.

  • NAMESPACE: o namespace do projeto.

  • DEPLOYMENT_NAME: o nome da implantação em que fazer o escalonamento automático.

  • DEPLOYMENT_NAME: o número desejado de objetos Pod replicados na implantação.