Tutoriel : Migrer des nœuds vers Azure Linux

Dans ce tutoriel, le troisième d’une série de cinq, vous migrez vos nœuds existants vers Azure Linux. Vous pouvez migrer vos nœuds existants vers Azure Linux en utilisant l’une des méthodes suivantes :

  • Suppression des pools de nœuds existants et ajout de nouveaux pools de nœuds Azure Linux.
  • Migration de la référence SKU du système d’exploitation en place (préversion).

Si vous n’avez aucun nœud existant à migrer vers Azure Linux, passez au tutoriel suivant. Dans les prochains tutoriels, vous apprendrez à activer la télémétrie et le monitoring dans vos clusters et à mettre à niveau les nœuds Azure Linux.

Prérequis

  • Dans les tutoriels précédents, vous avez créé et déployé un cluster hôte de conteneur Azure Linux pour AKS. Pour suivre ce tutoriel, vous devez ajouter un pool de nœuds Azure Linux à votre cluster existant. Si vous n’avez pas effectué cette étape et que vous souhaitez suivre la procédure, commencez par le Tutoriel 2 : Ajouter un pool de nœuds Azure Linux à votre cluster AKS existant.

    Notes

    Lors de l’ajout d’un nouveau pool de nœuds Azure Linux, vous devez en ajouter au moins un en tant que --mode System. Dans le cas contraire, AKS ne vous permet pas de supprimer votre pool de nœuds existant.

  • Vous devez disposer de la dernière version d’Azure CLI. Exécutez az --version pour trouver la version. Si vous devez installer ou mettre à niveau, voir Installer Azure CLI.

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

  1. Ajoutez un nouveau pool de nœuds Azure Linux à 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 les clusters Azure Linux.

    az aks nodepool add --resource-group <resource-group-name> --cluster-name <cluster-name> --name <node-pool-name> --mode System --os-sku AzureLinux
    
  2. Supprimer vos nœuds existants en utilisant la commande az aks nodepool delete.

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

Migration de la référence SKU du système d’exploitation en place (préversion)

Vous pouvez maintenant migrer vos pools de nœuds Ubuntu existants vers Azure Linux en modifiant la référence SKU du système d’exploitation du pool de nœuds, ce qui fait passer le cluster par le processus standard de mise à niveau de l'image du nœud. Cette nouvelle fonctionnalité ne nécessite pas de créer de nouveaux pools de nœuds.

Limites

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 référence SKU du système d’exploitation n’est pas disponible via Terraform, PowerShell ou le portail Azure.
  • La fonctionnalité de migration de référence SKU du système d’exploitation n’est pas en mesure de renommer des pools de nœuds existants.
  • Ubuntu et Azure Linux sont les seules cibles de migration de référence SKU du système d’exploitation Linux prises en charge.
  • Le champ count AgentPool ne doit pas changer pendant la migration.
  • 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.
  • Une référence SKU du système d’exploitation Ubuntu avec CVM 20.04 activé ne peut pas effectuer une migration de référence SKU du système d’exploitation.
  • Les pools de nœuds pour lesquels Kata est activé ne peuvent pas effectuer une migration de référence SKU du système d’exploitation.
  • La migration de référence SKU du système d’exploitation Windows n’est pas prise en charge.

Prérequis

  • Installez l’extension aks-preview.
  • Inscrivez l’indicateur de fonctionnalité OSSKUMigrationPreview dans votre abonnement.
  • Un cluster AKS existant avec au moins un pool de nœuds Ubuntu.
  • Nous vous recommandons de vous assurer que vos charges de travail sont configurées et fonctionnent correctement sur l’hôte de conteneur Azure Linux avant d’essayer d’utiliser la fonction de migration de la référence SKU du système d’exploitation en déployant un cluster Azure Linux en développement/production 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 0.5.172 ou ultérieure. Exécutez az --version pour trouver la version. Si vous devez installer ou mettre à niveau, voir Installer Azure CLI.

Installer l’extension aks-preview

Important

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

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

    az extension add --name aks-preview
    
  2. Mettez à jour l’extension pour vous assurer que vous disposez de la dernière version à l’aide de la commande az extension update.

    az extension update --name aks-preview
    

Inscrire l’indicateur de fonctionnalité OSSKUMigrationPreview

  1. Inscrivez l’indicateur de fonctionnalité OSSKUMigrationPreview sur votre abonnement à l’aide de la commande az feature register.

    az feature register --namespace Microsoft.ContainerService --name OSSKUMigrationPreview
    
  2. Vérifiez l’état de l’inscription en utilisant la commande az feature list.

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

    Vous devez obtenir un résultat semblable à l’exemple de sortie qui suit :

    Name                                            State
    ----------------------------------------------  -------
    Microsoft.ContainerService/OSSKUMigrationPreview  Registered
    
  3. Actualisez l’inscription de l’indicateur de fonctionnalité OSSKUMigrationPreview à l’aide de la commande az provider register.

    az provider register --namespace Microsoft.ContainerService
    

Migrer la référence SKU du système d’exploitation de votre pool de nœuds Ubuntu

  • Migrez la référence SKU du système d’exploitation de votre pool de nœuds vers Azure Linux à l’aide de la commande az aks nodepool update. Cette commande met à jour la référence SKU du système d’exploitation pour votre pool de nœuds d’Ubuntu vers Azure Linux. 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-name> --cluster-name <cluster-name> --name <node-pool-name> --os-sku AzureLinux
    

    Remarque

    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 du 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, exécutez la commande kubectl get nodes -o wide. La sortie doit afficher CBL-Mariner/Linux en tant qu’image de système d’exploitation et .cm2 à 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

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

Exécuter la migration de référence SKU du système d’exploitation sur vos clusters de production

  1. Mettez à jour vos modèles existants pour définir OSSKU=AzureLinux. Dans les modèles ARM, vous utilisez "OSSKU: "AzureLinux" dans la section agentPoolProfile. Dans Bicep, vous utilisez osSku: "AzureLinux" dans la section agentPoolProfile. Assurez-vous que votre apiVersion est définie sur 2023-07-01 ou ultérieure.
  2. Redéployez votre modèle ARM pour que le cluster applique le nouveau paramètre OSSKU. Au cours de ce déploiement, votre cluster se comporte comme s’il était en train de recevoir une mise à jour de l’image du nœud. Votre cluster augmente sa capacité, puis redémarre les nœuds existants un par un dans la dernière image AKS de votre nouvelle référence SKU de système d’exploitation.

Restauration

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 restaure le pool de nœuds vers sa référence SKU de système d’exploitation précédente.

  • 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 la référence SKU du système d’exploitation pour votre pool de nœuds, qui repasse d’Azure Linux à Ubuntu.

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

Étapes suivantes

Dans ce tutoriel, vous avez migré des nœuds existants vers Azure Linux à l’aide de l’une des méthodes suivantes :

  • Suppression des pools de nœuds existants et ajout de nouveaux pools de nœuds Azure Linux.
  • Migration de la référence SKU du système d’exploitation en place (préversion).

Dans le prochain tutoriel, vous apprendrez à activer la télémétrie pour surveiller vos clusters.