Partager via


Tutoriel : Mettre à niveau Kubernetes dans AKS activé par Azure Arc

S’applique à : AKS sur Azure Stack HCI 22H2, AKS sur Windows Server

Dans le cadre de la gestion du cycle de vie des applications et des clusters, vous souhaiterez peut-être effectuer une mise à niveau vers la dernière version disponible de Kubernetes lorsque vous utilisez AKS activé par Azure Arc.

Ce tutoriel, le dernier d’une série de sept, décrit comment mettre à niveau un cluster Kubernetes. Vous découvrirez comment effectuer les actions suivantes :

  • Identifier les versions Kubernetes actuelles et disponibles
  • Mettre à niveau la version Kubernetes des nœuds Kubernetes
  • Mettre à niveau la version du système d’exploitation des nœuds Kubernetes
  • Mettre à niveau un cluster Kubernetes vers la dernière version
  • Valider une mise à niveau réussie
  • Supprimer un cluster Kubernetes

Quelles sont les options de mise à jour disponibles ?

Il existe plusieurs types de mises à jour qui peuvent intervenir indépendamment les unes des autres et dans certaines combinaisons prises en charge :

  • Mettez à jour l’hôte AKS vers la dernière version.
  • Mettez à jour un cluster de charge de travail AKS vers une nouvelle version de Kubernetes.
  • Mettez à jour les hôtes de conteneur AKS vers une version plus récente du système d’exploitation.
  • Mise à jour combinée du système d’exploitation et de la version de Kubernetes.

Toutes les mises à jour sont effectuées dans un flux de mises à jour propagées pour éviter les pannes de disponibilité des charges de travail. Quand un nouveau nœud Worker Kubernetes avec une build plus récente est introduit dans le cluster, les ressources sont déplacées de l’ancien nœud vers le nouveau nœud. Une fois cette opération terminée, l’ancien nœud est désactivé et supprimé du cluster.

Les exemples de ce tutoriel supposent que le cluster de charges de travail mycluster est actuellement sur Kubernetes version 1.18.8 et utilise une version de système d’exploitation de plus de 30 jours.

Avant de commencer

Dans les tutoriels précédents, vous avez appris à empaqueter une application dans une image conteneur, à la charger dans le Azure Container Registry et à créer un cluster Kubernetes. Ensuite, vous avez déployé l’application sur le cluster. Si vous n’avez pas effectué ces étapes, commencez par le Tutoriel 1 : Créer des images conteneur.

Mettre à jour la version de Kubernetes d’un cluster de charges de travail

Vous devez d’abord mettre à niveau les modules PowerShell et l’hôte AKS avant de mettre à jour la version de Kubernetes.

Important

La mise à jour d’un cluster de charge de travail vers une version plus récente de Kubernetes ne fonctionne que si la version cible de Kubernetes est prise en charge par la version actuelle du système d’exploitation. Pour vérifier les combinaisons de versions du système d’exploitation et de Kubernetes prises en charge, utilisez la commande Get-AksHciUpdates.

Effectuez les étapes suivantes pour mettre à jour la version de Kubernetes :

  1. Pour obtenir la version actuelle de votre cluster de charges de travail, exécutez la commande suivante :

    Get-AksHciCluster
    
    ProvisioningState     : provisioned
    KubernetesVersion     : v1.20.7
    NodePools             : linuxnodepool
    WindowsNodeCount      : 0
    LinuxNodeCount        : 0
    ControlPlaneNodeCount : 1
    Name                  : mycluster   
    
  2. Pour obtenir les versions de Kubernetes disponibles, exécutez la commande suivante :

    Get-AksHciKubernetesVersion
    
    OrchestratorType OrchestratorVersion OS      IsPreview
    ---------------- ------------------- --      ---------
    Kubernetes       v1.19.9             Linux       False
    Kubernetes       v1.19.11            Linux       False
    Kubernetes       v1.20.5             Linux       False
    Kubernetes       v1.20.7             Linux       False
    Kubernetes       v1.21.1             Linux       False
    Kubernetes       v1.19.9             Windows     False
    Kubernetes       v1.19.11            Windows     False
    Kubernetes       v1.20.5             Windows     False
    Kubernetes       v1.20.7             Windows     False
    Kubernetes       v1.21.1             Windows     False
    

    La sortie indique les versions de Kubernetes et les systèmes d’exploitation sur lesquels la version est disponible. Vous pouvez voir que d’autres versions de mise à niveau sont disponibles. Toutefois, lors de la mise à niveau des clusters, vous ne pouvez pas ignorer les versions. Par exemple, v1.18.xx --> v1.19.xx est autorisé, mais v1.18.xx --> v1.20.xx ne l’est pas.

  3. Lancer la mise à jour de la version de Kubernetes

    Pour effectuer une mise à jour de la version de Kubernetes, exécutez la commande suivante :

    Update-AksHciCluster -name mycluster -kubernetesVersion v1.21.1
    

    Notes

    Cette commande met uniquement à jour les nœuds de cluster existants dans le cluster de charges de travail mycluster vers la nouvelle version de Kubernetes.

Mettre à jour uniquement la version du système d’exploitation

Important

Vous pouvez mettre à jour un cluster de charge de travail vers une version plus récente du système d’exploitation sans modifier la version de Kubernetes, mais cela fonctionne uniquement si la nouvelle version du système d’exploitation ne nécessite pas une version différente de Kubernetes.

Utilisez les étapes de l’exemple suivant pour mettre à jour la version du système d’exploitation :

  1. Pour obtenir les mises à jour disponibles des clusters de charges de travail, exécutez la commande suivante :

    Get-AksHciClusterUpdates -name mycluster
    
    details                             kubernetesversion                operatingsystemversion
    -------                             -----------------                ----------------------
    This is a patch kubernetes upgrade. (i.e v1.1.X  to v1.1.Y) v1.19.9  @{mariner=April 2021; windows=April 2021}
    This is a minor kubernetes upgrade. (i.e v1.X.1 to v1.Y.1)  v1.20.5  @{mariner=April 2021; windows=April 2021}
    
  2. Pour lancer la mise à jour de la version du système d’exploitation, exécutez la commande suivante :

    Update-AksHciCluster -clusterName mycluster -kubernetesVersion v1.21.1 -operatingSystem
    

Mettre à jour le système d’exploitation et la version de Kubernetes

Important

La mise à jour d’un cluster de charges de travail vers des versions plus récentes du système d’exploitation et de Kubernetes est prise en charge.

L’exemple suivant suppose qu’une nouvelle version de Kubernetes est disponible et que le numéro de version actuel est v1.20.7.

  1. Pour obtenir toutes les mises à jour disponibles des clusters de charges de travail, exécutez la commande suivante :

    Get-AksHciClusterUpdates -name mycluster
    
    details                             kubernetesversion                  operatingsystemversion
    -------                             -----------------                  ----------------------
    This is a patch kubernetes upgrade. (i.e v1.1.X  to v1.1.Y) v1.19.9    @{mariner=April 2021; windows=April 2021}
    This is a minor kubernetes upgrade. (i.e v1.X.1 to v1.Y.1)  v1.20.5    @{mariner=April 2021; windows=April 2021}
    
  2. Pour lancer la mise à jour des clusters de charges de travail, exécutez la commande suivante :

    Update-AksHciCluster -name mycluster -kubernetesVersion v1.21.1
    

Valider une mise à niveau

Confirmez que la mise à niveau a réussi en utilisant la commande Get-AksHciCluster comme suit :

Get-AksHciCluster -name mycluster

L’exemple de sortie suivant indique que le cluster exécute KubernetesVersion v1.21.1 :

ProvisioningState     : provisioned
KubernetesVersion     : v1.21.1
NodePools             : linuxnodepool
WindowsNodeCount      : 0
LinuxNodeCount        : 0
ControlPlaneNodeCount : 1
Name                  : mycluster

Supprimer le cluster

Comme ce tutoriel est la dernière partie de la série, vous pouvez supprimer le cluster. Utilisez la commande Remove-AksHciCluster pour supprimer le groupe de ressources, le service de conteneur et toutes les ressources associées :

Remove-AksHciCluster -name mycluster

Étapes suivantes

Dans ce tutoriel, vous avez mis à niveau Kubernetes dans un cluster Kubernetes sur AKS activé par Arc. Vous avez appris à :

  • Identifier les versions Kubernetes actuelles et disponibles
  • Mettre à niveau la version Kubernetes des nœuds Kubernetes
  • Mettre à niveau la version du système d’exploitation des nœuds Kubernetes
  • Mettre à niveau un cluster Kubernetes vers la dernière version
  • Valider une mise à niveau réussie

Pour plus d’informations sur AKS activé par Azure Arc, consultez vue d’ensemble d’AKS et clusters et charges de travail.