Compartir a través de


Tutorial: Migración de nodos a Azure Linux con OS Guard (versión preliminar)

En este tutorial, la parte tres de cinco, migrará los nodos existentes a Azure Linux con OS Guard. Puede migrar los nodos existentes mediante uno de los métodos siguientes:

  • Quite los grupos de nodos existentes y agregue una nueva instancia de Azure Linux con grupos de nodos de OS Guard.
  • Migración de SKU del sistema operativo local.

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 Azure Linux con nodos de OS Guard.

Consideraciones y limitaciones

Antes de empezar, revise las siguientes consideraciones y limitaciones para Azure Linux con OS Guard (versión preliminar):

Prerrequisitos

Instalar la extensión aks-preview de la CLI de Azure

Importante

Las características en versión preliminar de AKS están disponibles a elección del usuario y en régimen de 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 cuentan con soporte parcial por parte del servicio 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:

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

    az extension add --name aks-preview
    
  • Actualiza a la última versión de la extensión mediante el comando az extension update.

    az extension update --name aks-preview
    

Registrar el marcador de características de la Vista Previa de Azure Linux OS Guard

  1. Registre la marca de características de AzureLinuxOSGuardPreview mediante el comando az feature register.

    az feature register --namespace "Microsoft.ContainerService" --name "AzureLinuxOSGuardPreview"
    

    Tarda unos minutos en que el estado muestre Registrado.

  2. Comprobar el estado del registro mediante el comando az feature show.

    az feature show --namespace "Microsoft.ContainerService" --name "AzureLinuxOSGuardPreview"
    
  3. Cuando el estado refleje Registrado, actualice el registro del Microsoft.ContainerService proveedor de recursos mediante el az provider register comando .

    az provider register --namespace "Microsoft.ContainerService"
    

Adición de Azure Linux con grupos de nodos de OS Guard y eliminación de grupos de nodos existentes

  1. Agregue una nueva instancia de Azure Linux con el grupo de nodos de OS Guard mediante el az aks nodepool add comando . 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 Azure Linux con clústeres de OS Guard.

    # Declare environment variables with a random suffix for uniqueness
    export RANDOM_SUFFIX=$(openssl rand -hex 3)
    export NODE_POOL_NAME="np$RANDOM_SUFFIX"
    az aks nodepool add --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name $NODE_POOL_NAME --mode System --os-sku AzureLinuxOSGuard --node-osdisk-type Managed --enable-fips-image --enable-secure-boot --enable-vtpm
    

    Ejemplo de resultado:

    {
      "id": "/subscriptions/xxxxx/resourceGroups/myResourceGroupxxx/providers/Microsoft.ContainerService/managedClusters/myAKSCluster/nodePools/systempool",
      "name": "systempool",
      "provisioningState": "Succeeded"
    }
    
  2. Eliminar los nodos existentes mediante el comando az aks nodepool delete.

    az aks nodepool delete --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name $NODE_POOL_NAME 
    

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. Al usar la característica de migración de SKU del sistema operativo con Azure Linux con OS Guard (versión preliminar), no está disponible a través de Terraform, 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 Azure Linux con OS Guard son los únicos sistemas operativos SKU Linux admitidos como destinos de migración.
  • Trusted Launch es necesario de forma predeterminada para Azure Linux con OS Guard. Debe tener habilitado el inicio de confianza para migrar a Azure Linux con OS Guard. Esto puede requerir la creación de nuevos grupos de nodos.
  • Se requiere FIPS al habilitar Azure Linux con OS Guard. Si actualmente no usa una imagen FIPS, puede incluir --enable-fips en el comando de actualización del grupo de nodos.
  • No se admiten máquinas virtuales (VM) gen 1.
  • Una SKU del sistema operativo Ubuntu con UseGPUDedicatedVHD habilitado no puede realizar una migración de SKU del sistema operativo.
  • No se admiten máquinas virtuales confidenciales (CVM).
  • No se admite el Sandboxing de pods.
  • No se admite la migración de SKU del sistema operativo Windows.
  • Se admite la migración de SKU del sistema operativo desde Mariner a Azure Linux, pero no se admite la reversión a Mariner.

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 de Azure.
  • Se recomienda asegurarse de que las cargas de trabajo se configuran y ejecutan correctamente en Azure Linux con el host de contenedor de OS Guard antes de intentar usar la característica de migración de SKU del sistema operativo mediante la implementación de un clúster de Azure Linux con OS Guard en desarrollo/prod y la comprobación de 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 (VMs) durante la actualización.
  • Necesita la versión 2.61.0 o posterior de la CLI de Azure. Use el az version comando para buscar la versión. Para actualizar a la versión más reciente, use el az upgrade comando .

Migración de SKU del sistema operativo local

Puede migrar sus grupos de nodos de Ubuntu o Azure Linux existentes a Azure Linux con OS Guard cambiando la SKU del sistema operativo del grupo de nodos, lo que actualiza el clúster a través del proceso estándar de actualización de imágenes de nodo. Esta nueva característica no requiere la creación de nuevos pools de nodos; en su lugar, los pools de nodos existentes se reemagen automáticamente.

Migrar la SKU del sistema operativo de la pila de nodos del host de contenedores de Azure Linux a Azure Linux con OS Guard

  • Migre la SKU del sistema operativo del grupo de nodos a Azure Linux con OS Guard mediante el az aks nodepool update comando . Este comando desencadena una nueva imagen del grupo de nodos, actualizando la SKU del sistema operativo del grupo de nodos de Azure Linux a Azure Linux con OS Guard. 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 $NODE_POOL_NAME --os-sku AzureLinuxOSGuard --node-osdisk-type Managed --enable-fips-image --enable-secure-boot --enable-vtpm
    

    Ejemplo de resultado:

    {
      "id": "/subscriptions/xxxxx/resourceGroups/myResourceGroupxxx/providers/Microsoft.ContainerService/managedClusters/myAKSCluster/nodePools/nodepool1",
      "name": "nodepool1",
      "osSku": "AzureLinuxOSGuard",
      "provisioningState": "Succeeded"
    }
    

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 Azure Linux con OS Guard, ejecute el kubectl get nodes -o wide comando . La salida debe mostrar Microsoft Azure Linux 3.0 como la imagen del sistema operativo y .azl3 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.

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, debe cambiar el campo SKU del sistema operativo en la plantilla y volver a enviar la implementación, lo que desencadena otra operación de actualización y recrea el grupo de nodos a su SKU anterior del sistema operativo.

Nota:

La migración de SKU del sistema operativo no admite la reversión a SKU Mariner 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 desde Azure Linux con OS Guard de nuevo a Azure Linux.

Pasos siguientes

En este tutorial, ha migrado los nodos existentes a Azure Linux con OS Guard. En el siguiente tutorial, aprenderá a habilitar la telemetría para supervisar los clústeres.