Comparteix a través de


Tutorial: Migración de nodos a Linux en Azure

En este tutorial, tercera parte de cinco, migrará los nodos existentes a Linux en Azure. Puede migrar los nodos existentes a Linux en Azure mediante uno de los métodos siguientes:

  • Quite los grupos de nodos existentes y agregue nuevos grupos de nodos de Linux en Azure.
  • Migración de SKU del sistema operativo local (versión preliminar).

Si no tiene ningún nodo existente para migrar a Linux en Azure, pase 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 Linux en Azure.

Requisitos previos

  • En tutoriales anteriores, ha creado e implementado un clúster de hosts de contenedor de Linux en Azure para AKS. Para completar este tutorial, debe agregar un grupo de nodos de Linux en Azure al clúster existente. Si no ha realizado este paso y desea continuar, comience por el Tutorial 2: Incorporación de un grupo de nodos de Linux en Azure al clúster de AKS existente.

    Nota

    Al agregar un nuevo grupo de nodos de Linux en Azure, debe agregar al menos uno como --mode System. De lo contrario, AKS no le permitirá eliminar el grupo de nodos existente.

  • Necesita la versión más reciente de la CLI de Azure. Ejecute az --version para encontrar la versión. Si necesita instalarla o actualizarla, vea Instalación de la CLI de Azure.

Adición de grupos de nodos de Linux en Azure y eliminación de grupos de nodos existentes

  1. Agregue un nuevo grupo de nodos de Linux en Azure mediante el comando az aks nodepool add. Este comando agrega un nuevo grupo de nodos al clúster con la marca --mode System, lo que lo convierte en un grupo de nodos del sistema. Los grupos de nodos del sistema son necesarios para los clústeres de Linux en Azure.

    az aks nodepool add --resource-group <resource-group-name> --cluster-name <cluster-name> --name <node-pool-name> --mode System --os-sku AzureLinux
    
  2. Eliminar los nodos existentes mediante el comando az aks nodepool delete.

    az aks nodepool delete --resource-group <resource-group-name> --cluster-name <cluster-name> --name <node-pool-name>
    

Migración de SKU del sistema operativo local (versión preliminar)

Ahora puede migrar los grupos de nodos de Ubuntu existentes a Linux en Azure cambiando la SKU del sistema operativo del grupo de nodos, que implementa el clúster mediante el proceso de actualización de imágenes de nodo estándar. Esta nueva característica no requiere la creación de nuevos grupos de nodos.

Limitaciones

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 de SKU del sistema operativo no está disponible mediante Terraform, PowerShell ni Azure Portal.
  • La característica de migración de SKU del sistema operativo no puede cambiar el nombre de los grupos de nodos existentes.
  • Ubuntu y Linux en Azure son los únicos destinos de migración de SKU del sistema operativo Linux admitidos.
  • El campo AgentPool count no debe cambiar durante la migración.
  • Una SKU del sistema operativo Ubuntu con UseGPUDedicatedVHD habilitado no puede realizar una migración de SKU del sistema operativo.
  • Una SKU del sistema operativo Ubuntu con CVM 20.04 habilitado no puede realizar una migración de SKU del sistema operativo.
  • Los grupos de nodos con Kata habilitado no pueden realizar una migración de SKU del sistema operativo.
  • No se admite la migración de SKU del sistema operativo Windows.

Requisitos previos

Instale la extensión aks-preview

Importante

Las características en versión preliminar de AKS están disponibles como opción de participación y autoservicio. Las versiones preliminares se proporcionan "tal cual" y "como están disponibles", y están excluidas de los Acuerdos de nivel de servicio y garantía limitada. Las versiones preliminares de AKS reciben cobertura parcial del soporte al cliente en la medida de lo posible. Por lo tanto, estas características no están diseñadas para su uso en producción. Para más información, consulte los siguientes artículos de soporte:

  1. Instale la extensión aks-preview mediante el comando az extension add.

    az extension add --name aks-preview
    
  2. Use la extensión para asegurarse de que tiene la versión más reciente mediante el comando az extension update.

    az extension update --name aks-preview
    

Registro de la marca de característica OSSKUMigrationPreview

  1. Registre la marca de características OSSKUMigrationPreview en su suscripción con el comando az feature register.

    az feature register --namespace Microsoft.ContainerService --name OSSKUMigrationPreview
    
  2. Comprobar el estado del registro mediante el comando az feature list.

    az feature list -o table --query "[?contains(name, 'Microsoft.ContainerService/OSSKUMigrationPreview')].{Name:name,State:properties.state}"
    

    El resultado debería ser similar al ejemplo siguiente:

    Name                                            State
    ----------------------------------------------  -------
    Microsoft.ContainerService/OSSKUMigrationPreview  Registered
    
  3. Actualice el registro de la marca de características OSSKUMigrationPreview mediante el comando az provider register.

    az provider register --namespace Microsoft.ContainerService
    

Migración de la SKU del sistema operativo del grupo de nodos de Ubuntu

  • Migre la SKU del sistema operativo del grupo de nodos a Linux en Azure mediante el comando az aks nodepool update. Este comando actualiza la SKU del sistema operativo para el grupo de nodos de Ubuntu a Linux en Azure. 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-name> --cluster-name <cluster-name> --name <node-pool-name> --os-sku AzureLinux
    

    Nota:

    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, debe comprobar lo siguiente para garantizar una migración correcta:

  • Si el destino de migración es Linux en Azure, ejecute el comando kubectl get nodes -o wide. La salida debe mostrar CBL-Mariner/Linux como la imagen del sistema operativo y .cm2 al final de la versión del kernel.
  • Ejecute el comando kubectl get pods -o wide -A para comprobar que todos los pods y conjuntos de demonios se ejecutan en el nuevo grupo de nodos.
  • Ejecute el comando kubectl get nodes --show-labels para comprobar que todas las etiquetas de nodo del grupo de nodos actualizado son las que espera.

Sugerencia

Se recomienda supervisar el estado del servicio durante un par de semanas antes de migrar los clústeres de producción.

Ejecución de la migración de SKU del sistema operativo en los clústeres de producción

  1. Actualice las plantillas existentes para establecer OSSKU=AzureLinux. En las plantillas de ARM, se usa "OSSKU: "AzureLinux" en la sección agentPoolProfile. En Bicep, usará osSku: "AzureLinux" en la sección agentPoolProfile. Asegúrese de que apiVersion está establecido en 2023-07-01 o posterior.
  2. Vuelva a implementar la plantilla de ARM para que el clúster aplique la nueva configuración OSSKU. Durante esta implementación, el clúster se comporta como si tomara una actualización de imagen de nodo. El clúster aumenta la capacidad y, a continuación, reinicia los nodos existentes uno por uno en la imagen de AKS más reciente desde la nueva SKU del sistema operativo.

Reversión

Si experimenta problemas durante la migración de la SKU del sistema operativo, puede revertir a la SKU anterior del sistema operativo. Para ello, debe cambiar el campo de SKU del sistema operativo en la plantilla y volver a enviar la implementación, lo que desencadena otra operación de actualización y restaura el grupo de nodos a su SKU anterior del sistema operativo.

  • Vuelva a la SKU del sistema operativo anterior mediante el comando az aks nodepool update. Este comando actualiza la SKU del sistema operativo para el grupo de nodos de Linux en Azure de nuevo a Ubuntu.

    az aks nodepool update --resource-group myResourceGroup --cluster-name myAKSCluster --name mynodepool --os-sku Ubuntu
    

Pasos siguientes

En este tutorial, ha migrado los nodos existentes a Linux en Azure mediante uno de los métodos siguientes:

  • Quite los grupos de nodos existentes y agregue nuevos grupos de nodos de Linux en Azure.
  • Migración de SKU del sistema operativo local (versión preliminar).

En el siguiente tutorial, aprenderá a habilitar la telemetría para supervisar los clústeres.