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:
Busca el nombre del clúster de Kubernetes o pregunta al administrador de la plataforma cuál es.
Inicia sesión y genera el archivo kubeconfig del clúster de Kubernetes si no tienes uno.
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 replicadosPod
en la implementación.