Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Dans ce tutoriel, partie trois sur 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.
- Effectuez une migration sur place du SKU du système d’exploitation.
Les commandes de ce didacticiel utilisent les variables d’environnement définies dans Tutorial 1 : créez un cluster avec l’hôte de conteneur Linux Azure pour AKS.
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.
Prerequisites
- 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.
Note
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 --versionpour trouver la version. Si vous devez installer ou mettre à niveau, voir Installer Azure CLI.
Définir des variables d’environnement
Définissez les variables d’environnement suivantes pour créer des noms de ressources uniques pour chaque déploiement. Remplacez l’espace réservé <your-node-pool-name> par un nom de votre choix. Vous pouvez éventuellement ajouter un suffixe aléatoire pour garantir l’unicité. Le nom d’un pool de nœuds doit commencer par une lettre minuscule et ne peut contenir que des caractères alphanumériques. Pour des pools de nœuds Linux, la longueur doit être comprise entre 1 et 12 caractères.
# Set random suffix for uniqueness
export RANDOM_SUFFIX=$(openssl rand -hex 3)
# Set node pool name
export NODE_POOL_NAME="<your-node-pool-name>$RANDOM_SUFFIX"
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 --cluster-name $CLUSTER_NAME --name $NODE_POOL_NAME --mode System --os-sku AzureLinuxExemple de sortie :
{ "id": "/subscriptions/xxxxx/resourceGroups/myResourceGroupxxx/providers/Microsoft.ContainerService/managedClusters/myAKSCluster/nodePools/systempool", "name": "systempool", "provisioningState": "Succeeded" }Supprimer vos nœuds existants en utilisant la commande
az aks nodepool delete.
Migration de la référence SKU du système d’exploitation sur place
Vous pouvez migrer vos pools de nœuds Ubuntu existants vers Azure Linux en modifiant le 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 des nœuds. Cette nouvelle fonctionnalité ne nécessite pas de créer de nouveaux pools de nœuds.
Limitations de la migration sur place du SKU du système d’exploitation
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, 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 pouvoir migrer vers Azure Linux avec OS Guard. Étant donné que vous ne pouvez pas activer le lancement approuvé sur les pools de nœuds existants, vous devez créer un pool de nœuds avec le lancement approuvé activé et migrer vos charges de travail vers ce pool de nœuds.
- Les clients utilisant exclusivement des tailles de machines virtuelles (VM) de génération 1 ne peuvent pas migrer vers Azure Linux avec OS Guard, car il n’existe aucune image de génération 1 prise en charge. Dans ce cas, vous devez créer de nouveaux pools de nœuds avec une taille de machine virtuelle compatible avec Gen 2.
- Une référence SKU du système d’exploitation Ubuntu avec
UseGPUDedicatedVHDactivé 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.
Conditions préalables à la migration de référence SKU du système d’exploitation sur place
- 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 ont suffisamment de budget d’interruption de pod (PDB) 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 --versionpour trouver la version. Si vous devez installer ou mettre à niveau, voir Installer Azure CLI. - Si vous utilisez Terraform, vous devez disposer de la version 3.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 --cluster-name $CLUSTER_NAME --name $NODE_POOL_NAME --os-sku AzureLinux
Exemple de sortie :
{
"id": "/subscriptions/xxxxx/resourceGroups/myResourceGroupxxx/providers/Microsoft.ContainerService/managedClusters/myAKSCluster/nodePools/nodepool1",
"name": "nodepool1",
"osSku": "AzureLinux",
"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, exécutez la commande
kubectl get nodes -o wide. La sortie doit afficherMicrosoft Azure Linux 3.0en 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 -Apour 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-labelspour 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.
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. Vérifiez que votreapiVersionest définie sur2023-07-01ou ultérieur.-
Modèles ARM : Utiliser
"OSSKU": "AzureLinux"dans laagentPoolProfilesection. -
Bicep : utilisez
osSku: "AzureLinux"dans la sectionagentPoolProfile. -
Terraform : utiliser
os_sku = "AzureLinux"dans ladefault_node_poolsection.
-
Modèles ARM : Utiliser
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.
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 restaure le pool de nœuds vers sa référence SKU de système d’exploitation précédente.
Vous pouvez revenir à votre référence SKU de système d’exploitation précédente à l’aide de la az aks nodepool update commande. 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.
Étape suivante
Dans ce tutoriel, vous avez migré des nœuds existants vers Azure Linux en supprimant les pools de nœuds existants et en ajoutant de nouveaux Azure pools de nœuds Linux ou en effectuant une migration de référence SKU de système d’exploitation sur place.
Dans le prochain tutoriel, vous apprendrez à activer la télémétrie pour surveiller vos clusters.