Partager via


Tutoriel : Migrer des nœuds vers Azure Linux avec OS Guard (préversion)

Dans ce tutoriel, la troisième partie sur cinq vous permet de migrer vos nœuds existants vers Azure Linux avec OS Guard. Vous pouvez migrer vos nœuds existants à l’aide de l’une des méthodes suivantes :

  • Supprimez les pools de nœuds existants et ajoutez de nouveaux pools de nœuds Azure Linux avec des pools de nœuds OS Guard.
  • Migration de la référence SKU du système d’exploitation sur place.

Si vous n’avez aucun nœud existant à migrer, passez au tutoriel suivant. Dans les didacticiels ultérieurs, vous allez apprendre à activer la télémétrie et la surveillance dans vos clusters et à mettre à niveau Azure Linux avec des nœuds OS Guard.

Considérations et limitations

Avant de commencer, passez en revue les considérations et limitations suivantes pour Azure Linux avec OS Guard (préversion) :

Prerequisites

  • Dans le tutoriel précédent, vous avez créé et déployé un cluster Azure Linux avec OS Guard. Si vous n’avez pas effectué ces étapes et que vous souhaitez le suivre, consultez le tutoriel 1 : Créer un cluster avec Azure Linux avec OS Guard pour AKS.
  • Vous devez disposer de la dernière version d’Azure CLI. Utilisez la az version commande pour rechercher la version. Pour effectuer une mise à niveau vers la dernière version, utilisez la az upgrade commande.

Installer l’extension Azure CLI aks-preview

Important

Les fonctionnalités d’évaluation AKS sont disponibles en libre-service et font l’objet d’un abonnement. Les versions d'essai sont fournies « en l’état » et « selon disponibilité », et elles sont exclues des contrats de niveau de service et de la garantie limitée. Les versions préliminaires AKS sont, dans la mesure du possible, partiellement couvertes par le service clientèle. Par conséquent, ces fonctionnalités ne sont pas destinées à une utilisation en production. Pour plus d’informations, consultez les articles de support suivants :

  • Installez l'extension aks-preview à l'aide de la commande az extension add.

    az extension add --name aks-preview
    
  • Mettez à jour vers la dernière version de l’extension à l’aide de la commande az extension update.

    az extension update --name aks-preview
    

Enregistrer le drapeau de fonctionnalité d’Azure Linux OS Guard (préversion)

  1. Inscrivez l’indicateur de fonctionnalité AzureLinuxOSGuardPreview à l’aide de la commande az feature register.

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

    Quelques minutes sont nécessaires pour que l’état s’affiche Registered (Inscrit).

  2. Vérifiez l’état de l’inscription en utilisant la commande az feature show.

    az feature show --namespace "Microsoft.ContainerService" --name "AzureLinuxOSGuardPreview"
    
  3. Lorsque l’état reflète Inscrit, actualisez l’inscription du fournisseur de ressources en utilisant la commande az provider register.

    az provider register --namespace "Microsoft.ContainerService"
    

Ajouter Azure Linux avec des pools de nœuds OS Guard et supprimer des pools de nœuds existants

  1. Ajoutez un nouveau pool de nœuds Linux Azure OS Guard à l'aide de la commande az aks nodepool add. Cette commande ajoute un nouveau pool de nœuds à votre cluster avec l’indicateur --mode System, ce qui en fait un pool de nœuds système. Les pools de nœuds système sont requis pour Azure Linux avec des clusters 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
    

    Exemple de sortie :

    {
      "id": "/subscriptions/xxxxx/resourceGroups/myResourceGroupxxx/providers/Microsoft.ContainerService/managedClusters/myAKSCluster/nodePools/systempool",
      "name": "systempool",
      "provisioningState": "Succeeded"
    }
    
  2. Supprimer vos nœuds existants en utilisant la commande az aks nodepool delete.

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

Limitations de la migration de référence SKU du système d’exploitation sur place

Il existe plusieurs paramètres qui peuvent bloquer la requête de migration de référence SKU du système d’exploitation. Pour garantir une migration réussie, passez en revue les instructions et limitations suivantes :

  • La fonctionnalité de migration de la référence SKU du système d’exploitation n’est pas disponible via PowerShell ou le portail Azure. Lorsque vous utilisez la fonctionnalité de migration de référence SKU du système d’exploitation avec Azure Linux avec OS Guard (préversion), elle n’est pas disponible via Terraform, PowerShell ou le portail Azure.
  • La fonctionnalité de migration des SKU du système d’exploitation ne prend pas en charge le renommage des pools de nœuds existants.
  • Ubuntu, Azure Linux et Azure Linux avec OS Guard sont les seules cibles de migration de référence SKU de système d’exploitation Linux prises en charge.
  • Le lancement approuvé est requis par défaut pour Azure Linux avec OS Guard. Vous devez activer le lancement approuvé pour migrer vers Azure Linux avec OS Guard. Cela pourrait entraîner la création de nouveaux pools de nœuds.
  • FIPS est nécessaire lors de l’activation d’Azure Linux avec OS Guard. Si vous n’utilisez pas actuellement une image FIPS, vous pouvez inclure --enable-fips dans la commande de mise à jour de votre pool de nœuds.
  • Les machines virtuelles gen 1 ne sont pas prises en charge.
  • Une référence SKU du système d’exploitation Ubuntu avec UseGPUDedicatedVHD activé ne peut pas effectuer une migration de référence SKU du système d’exploitation.
  • Les machines virtuelles confidentielles ne sont pas prises en charge.
  • Le sandboxing des pods n’est pas pris en charge.
  • La migration de référence SKU du système d’exploitation Windows n’est pas prise en charge.
  • La migration de SKU de système d’exploitation de Mariner vers Azure Linux est prise en charge, mais la restauration vers Mariner ne l’est pas.

Conditions préalables à la migration de version SKU du système d’exploitation sur site

  • Un cluster AKS existant avec au moins un pool de nœuds Linux Azure.
  • Nous vous recommandons de vous assurer que vos charges de travail configurent et s’exécutent correctement sur Azure Linux avec l’hôte de conteneur OS Guard avant de tenter d’utiliser la fonctionnalité de migration de référence SKU du système d’exploitation en déployant un cluster Azure Linux avec OS Guard dans le développement/prod et en vérifiant que votre service reste sain.
  • Vérifiez que la fonctionnalité de migration fonctionne pour vous en test/développement avant d’utiliser le processus sur un cluster de production.
  • Assurez-vous que vos pods disposent d’un budget de perturbation de pod suffisant pour permettre à AKS de déplacer des pods entre des machines virtuelles pendant la mise à niveau.
  • Vous avez besoin d’Azure CLI version 2.61.0 ou ultérieure. Utilisez la az version commande pour rechercher la version. Pour effectuer une mise à niveau vers la dernière version, utilisez la az upgrade commande.

Effectuer une migration de référence SKU de système d’exploitation sur place

Vous pouvez migrer vos pools de nœuds Ubuntu ou Linux Azure existants vers Azure Linux avec OS Guard en modifiant la référence SKU du système d’exploitation du pool de nœuds, qui déploie le cluster via le processus de mise à niveau d’image de nœud standard. Cette nouvelle fonctionnalité ne nécessite pas la création de pools de nœuds ; Au lieu de cela, vos pools de nœuds existants sont automatiquement réimages.

Migrer la référence SKU du système d’exploitation de votre pool de nœuds de l’hôte de conteneur Azure Linux vers Azure Linux avec protection du système d’exploitation

  • Migrez la référence SKU du système d’exploitation de votre pool de nœuds vers Azure Linux avec OS Guard à l’aide de la az aks nodepool update commande. Cette commande déclenche une nouvelle image de votre pool de nœuds, en mettant à jour la référence SKU du système d’exploitation de votre pool de nœuds d’Azure Linux vers Azure Linux avec OS Guard. La modification de la référence SKU du système d’exploitation déclenche une opération de mise à niveau immédiate, ce qui prend plusieurs minutes.

    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
    

    Exemple de sortie :

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

Note

Si vous rencontrez des problèmes lors de la migration de la référence SKU du système d’exploitation, vous pouvez restaurer votre référence SKU de système d’exploitation précédente.

Vérifier la migration de la référence SKU de système d’exploitation

Une fois la migration terminée sur vos clusters de test, vérifiez ce qui suit pour garantir la réussite de la migration :

  • Si votre cible de migration est Azure Linux avec OS Guard, exécutez la kubectl get nodes -o wide commande. La sortie doit afficher Microsoft Azure Linux 3.0 en tant qu’image de système d’exploitation et .azl3 à la fin de votre version de noyau.
  • Exécutez la commande kubectl get pods -o wide -A pour vérifier que tous vos pods et daemonsets s’exécutent sur le nouveau pool de nœuds.
  • Exécutez la commande kubectl get nodes --show-labels pour vérifier que toutes les étiquettes de nœud de votre pool de nœuds mis à niveau correspondent à vos attentes.

Conseil / Astuce

Nous vous recommandons de surveiller l’intégrité de votre service pendant quelques semaines avant de migrer vos clusters de production.

Revenir à votre référence SKU de système d’exploitation précédente

Si vous rencontrez des problèmes lors de la migration de la référence SKU du système d’exploitation, vous pouvez restaurer votre référence SKU de système d’exploitation précédente. Pour ce faire, vous devez modifier le champ de référence SKU du système d’exploitation dans votre modèle et soumettre à nouveau le déploiement, ce qui déclenche une autre opération de mise à niveau et réimage le pool de nœuds à sa référence SKU de système d’exploitation précédente.

Note

La migration de la référence SKU de système d’exploitation ne prend pas en charge la restauration vers la référence SKU de système d’exploitation Mariner.

  • Restaurez votre référence SKU de système d’exploitation précédente à l’aide de la commande az aks nodepool update. Cette commande met à jour le SKU du système d'exploitation pour votre pool de nœuds en passant d'Azure Linux avec OS Guard à Azure Linux.

Étapes suivantes

Dans ce tutoriel, vous avez migré des nœuds existants vers Azure Linux avec OS Guard. Dans le prochain tutoriel, vous apprendrez à activer la télémétrie pour surveiller vos clusters.