Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este tutorial, la tercera de cinco partes, migrarás tus nodos existentes a ACL. Puede migrar los nodos existentes mediante uno de los métodos siguientes:
- Quite los grupos de nodos existentes y agregue nuevos grupos de nodos de ACL.
- Realice una migración de SKU del sistema operativo (SO) local.
Los comandos de este tutorial usan las variables de entorno establecidas en tutorial 1: Creación de un clúster con ACL para AKS.
Si no tiene ningún nodo existente para migrar, vaya al siguiente tutorial. En tutoriales posteriores, aprenderá a habilitar la telemetría y la supervisión en los clústeres y a actualizar los nodos de ACL.
Prerrequisitos
- En tutoriales anteriores, creaste y desplegaste un clúster de ACL. Si no ha completado estos pasos y desea seguirlos, consulte Tutorial 1: Creación de un clúster con ACL para AKS.
- Azure Container Linux requiere CLI de Azure versión 2.86.0 o superior. Use el
az versioncomando para buscar la versión. Para actualizar a la versión más reciente, use elaz upgradecomando .
consideraciones y limitaciones de Azure Container Linux (ACL)
Antes de comenzar, revise las siguientes consideraciones y limitaciones para ACL:
- La ACL está disponible con carácter general a partir de AKS v1.34.
- La ACL requiere inicio seguro con arranque seguro y vTPM. Las variantes de arranque no fiables no están disponibles.
- ACL en Arm64 requiere SKU basados en Cobalt (v6) para habilitar la compatibilidad con Trusted Launch.
-
NodeImageyNoneson los únicos canales de actualización del sistema operativo (SO) admitidos.UnmanagedySecurityPatchson incompatibles con la ACL debido al directorio inmutable/usr. - No se admite el streaming de artefactos.
- No se admite el espacio aislado de pods.
- No se admiten máquinas virtuales confidenciales (CVM).
- No se admiten máquinas virtuales de generación 1.
Adición de grupos de nodos de ACL y eliminación de grupos de nodos existentes
Agregue un nuevo grupo de nodos de ACL mediante el
az aks nodepool addcomando . Use--mode Systempara que el nuevo grupo pueda servir como grupo de agentes del sistema, lo que le permite eliminar el grupo de nodos original en el paso siguiente. En el ejemplo siguiente se crea un grupo de nodos denominado aclsystem que agrega tres nodos al clúster:az aks nodepool add \ --resource-group $RESOURCE_GROUP \ --cluster-name $CLUSTER_NAME \ --name aclsystem \ --mode System \ --os-sku AzureContainerLinux \ --node-count 3Ejemplo de resultado:
{ "id": "/subscriptions/xxxxx/resourceGroups/myACLResourceGroup/providers/Microsoft.ContainerService/managedClusters/myACLCluster/nodePools/aclsystem", "name": "aclsystem", "osSku": "AzureContainerLinux", "provisioningState": "Succeeded" }Quite el grupo de nodos existente mediante el
az aks nodepool deletecomando .az aks nodepool delete \ --resource-group $RESOURCE_GROUP \ --cluster-name $CLUSTER_NAME \ --name <existing-node-pool-name>
Migración de SKU del sistema operativo local
Limitaciones para la migración de SKU del sistema operativo local
Hay varias opciones de configuración que pueden bloquear la solicitud de migración de SKU del sistema operativo. Para garantizar una migración correcta, revise las siguientes directrices y limitaciones:
- La característica de migración del sistema operativo SKU no está disponible a través de PowerShell o Azure Portal.
- La característica de migración de SKU del sistema operativo no admite el cambio de nombre de los grupos de nodos existentes.
- Ubuntu, Azure Linux y AzureContainerLinux son los únicos destinos de migración de SKU del sistema operativo Linux admitidos.
- La ACL requiere inicio seguro. Si todavía no están habilitados en el grupo de nodos, debe incluir
--enable-secure-booty--enable-vtpmcuando migre a la SKU del sistema operativoAzureContainerLinux. El tamaño de máquina virtual del grupo de nodos también debe admitir el inicio seguro. Si el tamaño de máquina virtual actual no lo admite, debe cambiar el tamaño o volver a crear el grupo de nodos con un tamaño de máquina virtual compatible antes de migrar. - No se admiten máquinas virtuales de generación 1.
- Una SKU del sistema operativo Ubuntu con
UseGPUDedicatedVHDhabilitado no puede realizar una migración de SKU del sistema operativo. - No se admiten máquinas virtuales confidenciales (CVM).
- No se admite el espacio aislado de pods.
- No se admite la migración de SKU del sistema operativo Windows.
Requisitos previos para la migración de SKU del sistema operativo local
- Un clúster de AKS existente con al menos un grupo de nodos de Linux.
- Se recomienda comprobar que las cargas de trabajo se ejecutan correctamente en la ACL mediante la implementación de un clúster de ACL en un entorno de desarrollo o ensayo antes de migrar clústeres de producción.
- Asegúrese de que la característica de migración funciona en pruebas o desarrollo antes de usar el proceso en un clúster de producción.
- Asegúrese de que sus pods dispongan de un Pod Disruption Budget (PDB) suficiente para permitir que AKS mueva los pods entre máquinas virtuales durante la actualización.
- Necesita la versión 2.61.0 o posterior de la CLI de Azure. Use el
az versioncomando para buscar la versión. Para actualizar a la versión más reciente, use elaz upgradecomando .
Migrar a ACL mediante la migración local de la SKU del sistema operativo
Puede migrar sus grupos de nodos existentes de Ubuntu o Azure Linux a ACL cambiando la SKU del SO del grupo de nodos, lo que hace que el clúster pase por el proceso estándar de actualización de la imagen de nodo. Este método no requiere crear nuevos grupos de nodos; en su lugar, los grupos de nodos existentes se reprovisionan automáticamente con una nueva imagen.
Importante
La ACL requiere inicio seguro. Debe incluir --enable-secure-boot y --enable-vtpm al migrar a la SKU del sistema operativo AzureContainerLinux. El tamaño de máquina virtual del grupo de nodos también debe admitir el inicio seguro.
Migra la SKU del sistema operativo de tu grupo de nodos a ACL mediante el comando az aks nodepool update. Este comando desencadena una nueva imagen del grupo de nodos. El cambio de SKU del sistema operativo desencadena una operación de actualización inmediata, que tarda varios minutos en completarse.
az aks nodepool update \
--resource-group $RESOURCE_GROUP \
--cluster-name $CLUSTER_NAME \
--name <existing-node-pool-name> \
--os-sku AzureContainerLinux \
--enable-secure-boot \
--enable-vtpm
Ejemplo de resultado:
{
"id": "/subscriptions/xxxxx/resourceGroups/myACLResourceGroup/providers/Microsoft.ContainerService/managedClusters/myACLCluster/nodePools/nodepool1",
"name": "nodepool1",
"osSku": "AzureContainerLinux",
"provisioningState": "Succeeded"
}
Note
Si experimenta problemas durante la migración de la SKU del sistema operativo, puede revertir a la SKU anterior del sistema operativo.
Comprobación de la migración de SKU del sistema operativo
Una vez completada la migración en los clústeres de prueba, compruebe lo siguiente para garantizar una migración correcta:
Confirme que los nuevos nodos ejecutan la ACL mediante el siguiente comando:
kubectl get nodes -o wideCompruebe que todos los pods y daemonsets se ejecutan en el nuevo grupo de nodos mediante el siguiente comando:
kubectl get pods -o wide -ACompruebe que todas las etiquetas de nodo del grupo de nodos actualizado son las que espera mediante el siguiente comando:
kubectl get nodes --show-labelsCompruebe la versión de la imagen del nodo mediante el
az aks nodepool listcomando .az aks nodepool list \ --resource-group $RESOURCE_GROUP \ --cluster-name $CLUSTER_NAME \ --query '[].{name: name, osSku: osSku, nodeImageVersion: nodeImageVersion}'Ejemplo de resultado:
[ { "name": "nodepool1", "nodeImageVersion": "AKSAzureContainerLinux-202606.01.0", "osSku": "AzureContainerLinux" } ]
Tip
Se recomienda supervisar el estado del servicio durante un par de semanas antes de migrar los clústeres de producción.
Reversión a la SKU anterior del sistema operativo
Si experimenta problemas durante la migración de la SKU del sistema operativo, puede revertir a la SKU anterior del sistema operativo. Para ello, cambie el campo SKU del sistema operativo de nuevo a su valor anterior y vuelva a enviar la implementación, lo que inicia otra operación de actualización y reimagina el grupo de nodos con su SKU anterior del sistema operativo.
Vuelva a la SKU del sistema operativo anterior mediante el comando az aks nodepool update. En este ejemplo se revierte de ACL a Azure Linux:
az aks nodepool update \
--resource-group $RESOURCE_GROUP \
--cluster-name $CLUSTER_NAME \
--name <existing-node-pool-name> \
--os-sku AzureLinux
Paso siguiente
En este tutorial, ha migrado los nodos existentes a la ACL. En el siguiente tutorial, aprenderá a habilitar la telemetría y la supervisión del clúster de ACL.