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.
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
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
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
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 la référence SKU du système d’exploitation n’est pas disponible via 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.
- 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.
- 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.
Prérequis
- 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 2.61.0 ou ultérieure. Exécutez
az --version
pour trouver la version. Si vous devez installer ou mettre à niveau, voir Installer Azure CLI. - Si vous utilisez Terraform, vous devez avoir une version v3.111.0 ou ultérieure du module Terraform AzureRM.
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 afficherCBL-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
- Mettez à jour vos modèles existants pour définir
OSSKU=AzureLinux
. Dans les modèles ARM, vous utilisez"OSSKU: "AzureLinux"
dans la sectionagentPoolProfile
. Dans Bicep, vous utilisezosSku: "AzureLinux"
dans la sectionagentPoolProfile
. Enfin, pour Terraform, vous utilisez"os_sku = "AzureLinux"
dans la sectiondefault_node_pool
. Assurez-vous que votreapiVersion
est définie sur2023-07-01
ou ultérieure. - Redéployez votre modèle ARM, Bicep ou Terraform 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.
Remarque
La migration de SKU de système d’exploitation ne prend pas en charge la restauration vers la 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 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.
Dans le prochain tutoriel, vous apprendrez à activer la télémétrie pour surveiller vos clusters.