Ce document a été traduit à l'aide d'une technologie de traduction automatique. Bien que nous nous efforcions de fournir des traductions exactes, nous ne fournissons aucune garantie quant à l'exhaustivité, l'exactitude ou la fiabilité du contenu traduit. En cas de divergence, la version originale anglaise prévaut et fait foi.

Il s'agit d'une documentation non publiée pour SUSE® Storage 1.12 (Dev).

Mettre à niveau Kubernetes sur Azure Kubernetes Service (AKS)

AKS fournit az aks upgrade pour la mise à niveau des nœuds sur place par réimagerie des nœuds, mais cela entraînera la perte des disques d’origine SUSE Storage, ce qui signifie qu’il n’y aura plus de disques permettant la reconstruction des répliques dans les nœuds mis à niveau.

Nous suggérons d’utiliser le remplacement de pool de nœuds pour mettre à niveau les nœuds agents, mais d’utiliser az aks upgrade pour les nœuds du plan de contrôle afin d’assurer la sécurité des données.

  1. Dans SUSE Storage, définissez replica-replenishment-wait-interval sur 0.

  2. Mettre à niveau le plan de contrôle AKS.

     AKS_RESOURCE_GROUP=<aks-resource-group>
     AKS_CLUSTER_NAME=<aks-cluster-name>
     AKS_K8S_VERSION_UPGRADE=<aks-k8s-version>
    
     az aks upgrade \
         --resource-group ${AKS_RESOURCE_GROUP} \
         --name ${AKS_CLUSTER_NAME} \
         --kubernetes-version ${AKS_K8S_VERSION_UPGRADE} \
         --control-plane-only
  3. Ajouter un nouveau pool de nœuds.

     AKS_NODEPOOL_NAME_NEW=<new-nodepool-name>
     AKS_DISK_SIZE=<disk-size-in-gb>
     AKS_NODE_NUM=<number-of-nodes>
    
     az aks nodepool add \
       --resource-group ${AKS_RESOURCE_GROUP} \
       --cluster-name ${AKS_CLUSTER_NAME} \
       --name ${AKS_NODEPOOL_NAME_NEW} \
       --node-count ${AKS_NODE_NUM} \
       --node-osdisk-size ${AKS_DISK_SIZE} \
       --kubernetes-version ${AKS_K8S_VERSION_UPGRADE} \
       --mode System
  4. Utiliser l’interface SUSE Storage pour désactiver la planification des disques et demander l’éviction des nœuds dans l’ancien pool de nœuds.

  5. Cordonner et vider les nœuds Kubernetes dans l’ancien pool de nœuds.

     AKS_NODEPOOL_NAME_OLD=<old-nodepool-name>
    
     for n in `kubectl get nodes | grep ${AKS_NODEPOOL_NAME_OLD}- | awk '{print $1}'`; do
       kubectl cordon $n && \
       kubectl drain $n --ignore-daemonsets --delete-emptydir-data
     done
  6. Supprimer l’ancien pool de nœuds.

     az aks nodepool delete \
       --cluster-name ${AKS_CLUSTER_NAME} \
       --name ${AKS_NODEPOOL_NAME_OLD} \
       --resource-group ${AKS_RESOURCE_GROUP}