Escalar cargas de trabajo sin estado

Escala tus cargas de trabajo sin estado para adaptarlas a los requisitos de tus cargas de trabajo de contenedores.

Antes de empezar

Para ejecutar comandos en el clúster de Kubernetes de Bare Metal preconfigurado, asegúrate de tener los siguientes recursos:

  1. Busca el nombre del clúster de Kubernetes o pregunta al administrador de la plataforma cuál es.

  2. Inicia sesión y genera el archivo kubeconfig del clúster de Kubernetes si no tienes uno.

  3. Usa la ruta kubeconfig del clúster de Kubernetes para sustituir CLUSTER_KUBECONFIG en estas instrucciones.

Para obtener los permisos necesarios para escalar cargas de trabajo sin estado, pide a tu administrador de IAM de la organización que te conceda el rol de administrador de espacio de nombres (namespace-admin) en el espacio de nombres de tu proyecto.

Escalar un despliegue

Aprovecha la función de escalado de Kubernetes para escalar adecuadamente la cantidad de pods que se ejecutan en tu implementación.

Autoescalar los pods de un despliegue

Kubernetes ofrece el autoescalado para que no tengas que actualizar manualmente tu implementación cuando cambie la demanda. Define la herramienta de adaptación dinámica de pods horizontales en tu despliegue para habilitar esta función:

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

Haz los cambios siguientes:

  • CLUSTER_KUBECONFIG: el archivo kubeconfig del clúster de Kubernetes.

  • NAMESPACE: el espacio de nombres del proyecto.

  • DEPLOYMENT_NAME: el nombre del despliegue en el que se va a aplicar el autoescalado.

  • CPU_PERCENT: el uso medio de CPU objetivo que se va a solicitar, representado como un porcentaje, en todos los pods.

  • MIN_NUMBER_REPLICAS: límite inferior del número de pods que puede aprovisionar el escalador automático.

  • MAX_NUMBER_REPLICAS: límite superior del número de pods que puede aprovisionar el escalador automático.

Para comprobar el estado actual del escalado automático horizontal de pods que acabas de crear, ejecuta el siguiente comando:

kubectl get hpa

El resultado debería ser similar al siguiente:

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

Escalar manualmente los pods de un despliegue

Si prefieres escalar una implementación manualmente, ejecuta el siguiente comando:

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

Haz los cambios siguientes:

  • CLUSTER_KUBECONFIG: el archivo kubeconfig del clúster de Kubernetes.

  • NAMESPACE: el espacio de nombres del proyecto.

  • DEPLOYMENT_NAME: el nombre del despliegue en el que se va a aplicar el autoescalado.

  • DEPLOYMENT_NAME: el número elegido de objetos replicados Pod en la implementación.