Tutorial: Escalado de aplicaciones en AKS habilitadas por Azure Arc
Se aplica a: AKS en Azure Local 22H2, AKS en Windows Server
Si completó los tutoriales anteriores, debe tener un clúster de Kubernetes en funcionamiento en AKS e implementar también la aplicación azure Voting de ejemplo.
En este tutorial, la parte cinco de siete, describe cómo escalar horizontalmente los pods en la aplicación. Aprenderá a:
- Escalado de los nodos de Kubernetes
- Escala manualmente los pods de Kubernetes que ejecutan tu aplicación
En tutoriales posteriores, la aplicación Azure Vote se actualiza a una nueva versión.
Antes de empezar
En los tutoriales anteriores se describe cómo empaquetar una aplicación en una imagen de contenedor, cargar la imagen en Azure Container Registry y crear un clúster de Kubernetes. A continuación, la aplicación se implementó en el clúster. Si no ha completado estos pasos, comience con Tutorial 1: Preparación de una aplicación para AKS habilitada por Arc.
Escalado manual de pods
En los tutoriales anteriores se describe cómo implementar la instancia de front-end de Azure Vote y Redis para crear una sola réplica. Para ver el número y el estado de los pods en tu clúster, utiliza el siguiente comando: kubectl get
kubectl get pods
La salida del ejemplo siguiente muestra un pod de front-end y un pod de back-end:
NAME READY STATUS RESTARTS AGE
azure-vote-back-2549686872-4d2r5 1/1 Running 0 31m
azure-vote-front-848767080-tf34m 1/1 Running 0 31m
Para cambiar manualmente el número de pods en la implementación azure-vote-front, use el comando kubectl scale. El ejemplo siguiente aumenta el número de pods de front-end a 5:
kubectl scale --replicas=5 deployment/azure-vote-front
Ejecute kubectl get pods de nuevo para comprobar que el comando creó correctamente los pods adicionales. Tras un minuto aproximadamente, los pods adicionales estarán disponibles en el clúster:
kubectl get pods
READY STATUS RESTARTS AGE
azure-vote-back-2606967446-nmpcf 1/1 Running 0 15m
azure-vote-front-3309479140-2hfh0 1/1 Running 0 3m
azure-vote-front-3309479140-bzt05 1/1 Running 0 3m
azure-vote-front-3309479140-fvcvm 1/1 Running 0 3m
azure-vote-front-3309479140-hrbf2 1/1 Running 0 15m
azure-vote-front-3309479140-qphz8 1/1 Running 0 3m
Escalado de los nodos de trabajo en el grupo de nodos
Si creó el clúster de Kubernetes mediante los comandos del tutorial anterior, la implementación tiene un clúster denominado mycluster con un grupo de nodos de Linux denominado linuxnodepool, que tiene un recuento de nodos de 1.
Use el comando Set-AksHciNodePool para escalar el grupo de nodos. En el ejemplo siguiente se escala el grupo de nodos de 1 a 3 nodos de Linux:
Set-AksHciNodePool -clusterName mycluster -name linuxnodepool -count 3
Si desea escalar los nodos del plano de control, use el comando Set-AksHciCluster.
Nota
El comando Set-AksHciNodePool se usa para escalar nodos de trabajo en un grupo de nodos. En versiones anteriores de AKS, que no admitía grupos de nodos en clústeres de cargas de trabajo, se usó el comando Set-AksHciCluster. Solo puede usar Set-AksHciCluster
para escalar nodos de trabajo en clústeres creados con el parámetro antiguo establecido en New-AksHciCluster.
Ejecute el siguiente comando para confirmar que el escalado se realizó correctamente:
Get-AksHciNodePool -clusterName mycluster
ClusterName : mycluster
NodePoolName : linuxnodepool
Version : v1.20.7
OsType : Linux
NodeCount : 3
VmSize : Standard_K8S3_v1
Phase : Deployed
Pasos siguientes
En este tutorial, ha usado diferentes características de escalado en el clúster de Kubernetes. Ha aprendido a:
- Escalar manualmente los pods de Kubernetes que ejecutan tu aplicación
- Escalado manual de los nodos de Kubernetes
Pase al siguiente tutorial para aprender a actualizar una aplicación en Kubernetes.