Automatiser les mises à niveau des images de nœud et de Kubernetes dans plusieurs clusters en utilisant Azure Kubernetes Fleet Manager (préversion)
Les administrateurs de plateforme qui gèrent un grand nombre de clusters ont souvent des problèmes pour préparer les mises à jour de plusieurs clusters (par exemple, la mise à niveau des versions de Kubernetes ou d’image de système d’exploitation de nœud) de manière sécurisée et prévisible. Pour résoudre ces problèmes, Azure Kubernetes Fleet Manager (Fleet) vous permet d’orchestrer des mises à jour sur plusieurs clusters en utilisant des exécutions de mise à jour.
Les exécutions de mise à jour se composent de phases, de groupes et de stratégies. Elles peuvent être appliquées manuellement, pour les mises à jour ponctuelles, ou automatiquement, pour les mises à jour régulières en utilisant des profils de mise à niveau automatique. Toutes les exécutions de mise à jour (manuelles ou automatiques) respectent les fenêtres de maintenance des clusters membres.
Cet article décrit l’utilisation des profils de mise à niveau automatique pour déclencher automatiquement les exécutions de mise à jour quand de nouvelles versions de Kubernetes ou d’image de nœud sont disponibles.
Important
Les fonctionnalités d’évaluation d’Azure Kubernetes Fleet Manager 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 d’Azure Kubernetes Fleet Manager 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.
Prérequis
Lisez la vue d’ensemble conceptuelle des profils de mise à niveau automatique, qui fournit une explication des configurations référencées dans ce guide.
Vous devez avoir une ressource Fleet avec un ou plusieurs clusters membres. Si ce n’est pas le cas, suivez le guide de démarrage rapide pour créer une ressource Fleet et rejoindre des clusters Azure Kubernetes Service (AKS) en tant que membres.
Si vous souhaitez utiliser une stratégie de mise à jour, vous devez en configurer une en utilisant les instructions de l’article d’aide sur l’exécution de mise à jour. Vous avez besoin de l’identificateur de ressource de stratégie de mise à jour pour l’utiliser avec un profil de mise à niveau automatique.
Définissez les variables d’environnement suivantes :
export GROUP=<resource-group> export FLEET=<fleet-name> export AUTOUPGRADEPROFILE=<upgrade-profile-name> # Optional export STRATEGYID=<strategy-id> export CLUSTER=<ask-cluster-name>
Vous avez besoin d’Azure CLI version 2.61.0 ou ultérieure. Pour installer ou mettre à niveau Azure CLI, consultez Installer l’interface de ligne de commande Microsoft Azure.
Vous avez également besoin de l’extension Azure CLI
fleet
, version 1.3.0 ou ultérieure, que vous pouvez installer en exécutant la commande suivante :az extension add --name fleet
Exécutez la commande suivante pour effectuer la mise à jour vers la dernière version de l’extension publiée :
az extension update --name fleet
Remarque
Les exécutions de mise à jour déclenchées par la mise à niveau automatique respectent les fenêtres de maintenance planifiée que vous définissez au niveau du cluster AKS. Pour obtenir plus d’informations, consultez Maintenance planifiée sur plusieurs clusters membres, qui explique comment les exécutions de mises à jour gèrent des clusters membres qui ont été configurés avec des fenêtres de maintenance planifiées.
Créer des profils de mise à niveau automatique
Utilisez la commande az fleet autoupgradeprofile create
pour créer des profils comme indiqué.
Vous pouvez créer un profil de mise à niveau automatique désactivé en passant l’argument --disabled
quand vous utilisez la commande create
. Pour activer le profil de mise à niveau automatique, vous devez réémettre l’intégralité de la commande create
et omettre l’argument --disabled
.
Mises à jour Kubernetes du canal stable
Mettez à jour vers le dernier patch Kubernetes pris en charge sur la version mineure N-1, où N représente la dernière version mineure prise en charge.
Mettez à jour les clusters membres de manière séquentielle un par un.
az fleet autoupgradeprofile create \
--resource-group $GROUP \
--fleet-name $FLEET \
--name $AUTOUPGRADEPROFILE \
--channel Stable
Mettez à jour les clusters membres avec une stratégie de mise à jour existante.
az fleet autoupgradeprofile create \
--resource-group $GROUP \
--fleet-name $FLEET \
--name $AUTOUPGRADEPROFILE \
--update-strategy-id $STRATEGYID \
--channel Stable
Mettez à jour les clusters membres avec une stratégie de mise à jour existante, ce qui garantit que la même version d’image de nœud est utilisée dans chaque région Azure. Les clusters membres exécutent tous la même version d’image de nœud.
az fleet autoupgradeprofile create \
--resource-group $GROUP \
--fleet-name $FLEET \
--name $AUTOUPGRADEPROFILE \
--update-strategy-id $STRATEGYID \
--channel Stable \
--node-image-selection-type Consistent
Mettez à jour les clusters membres avec une stratégie de mise à jour existante, en utilisant la dernière version d’image de nœud disponible pour chaque région Azure. Les clusters membres peuvent exécuter plusieurs versions d’image de nœud.
az fleet autoupgradeprofile create \
--resource-group $GROUP \
--fleet-name $FLEET \
--name $AUTOUPGRADEPROFILE \
--update-strategy-id $STRATEGYID \
--channel Stable \
--node-image-selection-type Latest
Mises à jour de l’image du nœud
Mettez à jour les nœuds avec un VHD récemment corrigé contenant des correctifs de sécurité et des correctifs de bogues.
Mettez à jour les images de nœud pour les clusters membres, en traitant les clusters de manière séquentielle un par un.
az fleet autoupgradeprofile create \
--resource-group $GROUP \
--fleet-name $FLEET \
--name $AUTOUPGRADEPROFILE \
--channel NodeImage
Mettez à jour les images de nœud pour les clusters membres, en traitant les clusters avec une stratégie de mise à jour existante.
az fleet autoupgradeprofile create \
--resource-group $GROUP \
--fleet-name $FLEET \
--name $AUTOUPGRADEPROFILE \
--update-strategy-id $STRATEGYID \
--channel NodeImage
Voir le profil de mise à niveau automatique
Vous pouvez utiliser les commandes autoupgradeprofile list
ou autoupgradeprofile show
pour voir le profil de mise à niveau automatique.
Listez tous les profils de mise à niveau automatique d’une flotte.
az fleet autoupgradeprofile list \
--resource-group $GROUP \
--fleet-name $FLEET
Affichez un profil de mise à niveau automatique spécifique pour une flotte.
az fleet autoupgradeprofile list \
--resource-group $GROUP \
--fleet-name $FLEET \
--name $AUTOUPGRADEPROFILE
Supprimer un profil de mise à niveau automatique
Utilisez la commande suivante pour supprimer un profil de mise à niveau automatique existant. Vous êtes invité à confirmer la suppression. Si vous souhaitez immédiatement supprimer le profil, ajoutez --yes
.
az fleet autoupgradeprofile delete \
--resource-group $GROUP \
--fleet-name $FLEET \
--name $AUTOUPGRADEPROFILE
Valider la mise à niveau automatique
Les mises à niveau automatiques se produisent seulement quand de nouvelles versions d’image de nœud ou de Kubernetes sont disponibles. Vous pouvez consulter vos versions existantes comme base de référence de la façon suivante.
# Get Kubernetes version for a member cluster
az aks show \
--resource-group $GROUP \
--name $CLUSTER \
--query currentKubernetesVersion
# Get NodeImage version for a member cluster
az aks show \
--resource-group $GROUP \
--name $CLUSTER \
--query "agentPoolProfiles[].{name:name,mode:mode, nodeImageVersion:nodeImageVersion, osSku:osSku, osType:osType}"
Une fois les exécutions de mise à jour terminées, vous pouvez réexécuter ces commandes et voir les versions mises à jour déployées.
Azure Kubernetes Service