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-linux
de 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 VmSize
Standard_A4_v2
es :
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: