Compartir a través de


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.