En este documento se describe cómo escalar las cargas de trabajo sin estado que se ejecutan en un clúster de Kubernetes aislado de Google Distributed Cloud (GDC). Debes escalar los pods que se ejecutan en tus cargas de trabajo sin estado a medida que evolucionen los requisitos de tu carga de trabajo de contenedor.
Este documento está dirigido a los desarrolladores del grupo de operadores de aplicaciones que se encargan de gestionar las cargas de trabajo de las aplicaciones de su organización. Para obtener más información, consulta Audiencias de la documentación aislada de GDC.
Antes de empezar
Para ejecutar comandos en un clúster de Kubernetes, asegúrate de que tienes los siguientes recursos:
Busca el nombre del clúster de Kubernetes o pregunta a tu 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
KUBERNETES_CLUSTER_KUBECONFIGen 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 KUBERNETES_CLUSTER_KUBECONFIG \
-n NAMESPACE \
autoscale deployment DEPLOYMENT_NAME \
--cpu-percent=CPU_PERCENT \
--min=MIN_NUMBER_REPLICAS \
--max=MAX_NUMBER_REPLICAS
Haz los cambios siguientes:
KUBERNETES_CLUSTER_KUBECONFIG: el archivo kubeconfig del clúster.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 KUBERNETES_CLUSTER_KUBECONFIG \
-n NAMESPACE \
scale deployment DEPLOYMENT_NAME \
--replicas NUMBER_OF_REPLICAS
Haz los cambios siguientes:
KUBERNETES_CLUSTER_KUBECONFIG: el archivo kubeconfig del clúster.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 de objetos replicadosPodque quieras en la implementación.