Compartir a través de


Escalado vertical de nodos

Se aplica a: AKS en Azure Local 22H2, AKS en Windows Server

Puede cambiar el tamaño de las máquinas virtuales de un grupo de nodos determinado para aumentar los recursos disponibles para el grupo de nodos en AKS habilitado por Azure Arc.

Para mantenerse al día con las demandas de aplicaciones en Azure Kubernetes Service (AKS), es posible que tenga que ajustar el número de nodos que ejecutan las cargas de trabajo. En algunos casos, el escalado horizontal de un clúster mediante la adición de nodos no es suficiente para satisfacer las demandas de la aplicación para obtener más núcleos de CPU o memoria.

Sin el escalado vertical de nodos, debe volver a implementar en un nuevo grupo de nodos y mover la aplicación. Esta situación podría no ser ideal en entornos perimetrales limitados de recursos. Para habilitar esta flexibilidad, AKS Arc presenta la capacidad de cambiar el tamaño de la máquina virtual (SKU) de las máquinas virtuales en un grupo de nodos determinado.

Funcionamiento del escalado vertical de nodos en AKS Arc

En AKS Arc, los grupos de nodos de clúster de destino se administran internamente como machineDeployment. Una propiedad de machineDeployment es el tamaño de máquina virtual (SKU) que se seleccionó cuando se ejecutó el comando New-AksHciNodePool.

Para cambiar el grupo de nodos a otro tamaño de máquina virtual (SKU), puede usar el comando Set-AksHciNodePool para cambiar el tamaño de máquina virtual de los nodos de trabajo, y el comando Set-AksHciCluster para cambiar el tamaño de máquina virtual de los nodos del plano de control.

Al enviar el comando con el nuevo tamaño de máquina virtual (SKU), se crea una nueva máquinaDeployment para el grupo de nodos o el clúster, reemplazando el conjunto de máquinas existente. Este evento desencadena un flujo de actualización en el sistema de implementación subyacente. De forma similar a una actualización de la versión del sistema operativo o Kubernetes, la nueva máquinaDeployment usa una actualización gradual para reemplazar una máquina virtual en el grupo de nodos o en el plano de control después de la otra. Cada actualización comprueba que el nodo antiguo esté correctamente acordonado y purgado antes de quitarlo.

Nota:

El sistema supone que hay suficientes recursos de hardware disponibles para escalar verticalmente el nuevo conjunto de máquinas en lugar del conjunto de máquinas antiguo.

Ejemplo de proceso

En el ejemplo siguiente, se muestra el escalado vertical de nodos.

Cambio del tamaño de la máquina virtual para un grupo de nodos de trabajo de Linux de 4 núcleos y 6 GB de memoria a 4 núcleos y 8 GB de memoria

En primer lugar, compruebe el tamaño de máquina virtual actual del grupo de nodos en el clúster mycluster. En la salida, puede ver que el tamaño de la máquina virtual es Standard_K8S3_v1:

get-akshcinodepool -clustername mycluster
Status       : {Error, Phase, Details}
ClusterName  : mycluster
NodePoolName : mycluster-linux
Version      : v1.22.4
OsType       : Linux
NodeCount    : 2
VmSize       : Standard_K8S3_v1
Phase        : scaling

Standard_K8S3_v1 en la lista de tamaños de máquina virtual disponibles se muestra que tiene 4 núcleos y 6 GB de memoria:

Get-AksHciVmSize
VmSize           CPU MemoryGB
------           --- --------
Default          4   4
Standard_A2_v2   2   4
Standard_A4_v2   4   8
Standard_D2s_v3  2   8
Standard_D4s_v3  4   16
Standard_D8s_v3  8   32
Standard_D16s_v3 16  64
Standard_D32s_v3 32  128
Standard_DS2_v2  2   7
Standard_DS3_v2  2   14
Standard_DS4_v2  8   28
Standard_DS5_v2  16  56
Standard_DS13_v2 8   56
Standard_K8S_v1  4   2
Standard_K8S2_v1 2   2
Standard_K8S3_v1 4   6

El nuevo tamaño que desea establecer para 4 núcleos y 8 GB de memoria es Standard_A4_v2. Para actualizar el grupo mycluster-linuxde nodos, use el Set-AksHciNodePool cmdlet , que se ha actualizado para aceptar un -VMsize parámetro:

Set-AksHciNodePool -ClusterName mycluster -name mycluster-linux -vmsize Standard_A4_v2

Después de unos minutos, el proceso se completa. Para comprobar el resultado, vuelva a ejecutarse Get-AksHciNodePool y compruebe que ahora VmSizeStandard_A4_v2es :

get-akshcinodepool -clustername mycluster
Status       : {Error, Phase, Details}
ClusterName  : mycluster
NodePoolName : mycluster-linux
Version      : v1.22.4
OsType       : Linux
NodeCount    : 2
VmSize       : Standard_A4_v2
Phase        : scaling

Pasos siguientes

Consulte la documentación de los comandos de PowerShell actualizados: