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 artículo, aprenderá a migrar los grupos de nodos de AKS existentes a Azure Container Linux (ACL) para AKS. Puede migrar los nodos existentes mediante uno de los métodos siguientes:
- Migración de SKU del sistema operativo local: cambie la SKU del sistema operativo de los grupos de nodos existentes a ACL, que vuelve a crear una imagen de los nodos automáticamente.
- Quite los grupos de nodos existentes y agregue nuevos grupos de nodos de ACL: cree nuevos grupos de nodos de ACL, mueva las cargas de trabajo y quite los grupos de nodos antiguos.
Importante
Si usa Azure Container Linux (ACL) en AKS, asegúrese de revisar las siguientes consideraciones y limitaciones:
- 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.
Limitaciones de la migración local de SKU del sistema operativo
Además de las limitaciones generales de ACL, las siguientes se aplican específicamente a la migración de SKU del sistema operativo local:
- 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.
- Los grupos de nodos con
UseGPUDedicatedVHDhabilitado no pueden realizar una migración de SKU del sistema operativo. - No se admite la migración de SKU del sistema operativo Windows.
Prerrequisitos
- Un clúster de AKS existente con al menos un grupo de nodos de Linux.
- CLI de Azure versión 2.86.0 o posterior. Ejecute
az --versionpara encontrar la versión. Si necesita instalar o actualizar, consulte Install CLI de Azure. - 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 los pods tienen suficiente Presupuesto de interrupciones de pods (PDB) para permitir que AKS mueva pods entre máquinas virtuales durante la migración.
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.az aks nodepool add \ --resource-group <resource-group> \ --cluster-name <cluster-name> \ --name <new-node-pool-name> \ --os-sku AzureContainerLinux \ --mode System \ --node-count 3Ejemplo de resultado:
{ "id": "/subscriptions/xxxxx/resourceGroups/myResourceGroup/providers/Microsoft.ContainerService/managedClusters/myAKSCluster/nodePools/myNewNodePool", "name": "myNewNodePool", "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
Puede migrar sus grupos de nodos Linux existentes 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.
Migración de SKU del sistema operativo local
Importante
ACL requiere Trusted Launch. Debe incluir --enable-secure-boot y --enable-vtpm al migrar a la SKU del sistema operativo AzureContainerLinux. El tamaño de la máquina virtual (VM) 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.
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, actualizando la SKU del sistema operativo a AzureContainerLinux. 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/myResourceGroup/providers/Microsoft.ContainerService/managedClusters/myAKSCluster/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
Tip
Se recomienda supervisar el estado del servicio durante un par de semanas antes de migrar los clústeres de producción.
Una vez completada la migración en los clústeres de prueba, se recomienda supervisar el clúster y las cargas de trabajo durante un par de semanas para confirmar que todo se ejecuta según lo previsto antes de migrar clústeres de producción. Use los siguientes comandos para comprobar la migración y supervisar el clúster:
Confirme que los nuevos nodos ejecutan la ACL mediante el
kubectl get nodes -o widecomando . La salida debe mostrar la imagen del sistema operativo ACL.kubectl get nodes -o wideCompruebe que todos los pods y daemonsets se ejecutan en el nuevo grupo de nodos mediante el
kubectl get pods -o wide -Acomando .kubectl get pods -o wide -ACompruebe que todas las etiquetas de nodo del grupo de nodos actualizado son las que espera mediante el
kubectl get nodes --show-labelscomando .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": "myNodePool", "nodeImageVersion": "AKSAzureContainerLinux-202606.01.0", "osSku": "AzureContainerLinux" } ]
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. Si revierte de ACL a la SKU previa del sistema operativo, el grupo de nodos usa de forma predeterminada la variante de imagen de Inicio seguro (Gen2), a menos que Inicio seguro esté deshabilitado explícitamente.
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
Contenido relacionado
Para obtener más información sobre la ACL, consulte ¿Qué es Azure Container Linux (ACL) para Azure Kubernetes Service (AKS)?