Compartir vía


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.

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

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 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 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.
  • 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

  • Un clúster de AKS existente con al menos un grupo de nodos de Ubuntu.
  • Se recomienda asegurarse de que las cargas de trabajo se configuran y se ejecutan correctamente en el host de contenedor de Linux en Azure antes de intentar usar la característica de migración de SKU del sistema operativo mediante la implementación de un clúster de Linux en Azure en desarrollo y producción y la comprobar que el servicio sigue en buen estado.
  • 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 interrupción del pod para permitir que AKS mueva pods entre máquinas virtuales durante la actualización.
  • Necesita la versión 2.61.0 o posterior 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.
  • Si usa Terraform, debe tener v3.111.0 o posterior del módulo AzureRM Terraform.

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. Por último, para Terraform, se usa "os_sku = "AzureLinux" en la sección default_node_pool. Asegúrese de que apiVersion está establecido en 2023-07-01 o posterior.
  2. Vuelva a implementar la plantilla de ARM, Bicep o Terraform 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.

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