|
Dies ist eine unveröffentlichte Dokumentation für SUSE® Storage 1.12 (Dev). |
Kubernetes auf Azure Kubernetes Service (AKS) upgraden
AKS bietet az aks upgrade für das In-Place-Upgrade von Knoten mittels Node-Reimaging an, aber dies führt dazu, dass die ursprünglichen SUSE Storage-Festplatten fehlen, sodass in den geupgradeten Knoten keine Festplatten mehr zur Wiederherstellung von Replikaten vorhanden sind.
Wir empfehlen, den Knotenpool-Austausch zu verwenden, um die Agentenknoten zu upgraden, aber az aks upgrade für die Steuerungsebene zu verwenden, um die Datensicherheit zu gewährleisten.
-
In SUSE Storage,
replica-replenishment-wait-intervalauf0setzen. -
AKS-Steuerungsebene upgraden.
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 -
Einen neuen Knotenpool hinzufügen.
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 -
Verwenden Sie die SUSE Storage-Benutzeroberfläche, um das Festplatten-Scheduling zu deaktivieren und die Evakuierung der Knoten im alten Knotenpool anzufordern.
-
Kubernetes-Knoten im alten Knotenpool absperren und entleeren.
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 -
Alten Knotenpool löschen.
az aks nodepool delete \ --cluster-name ${AKS_CLUSTER_NAME} \ --name ${AKS_NODEPOOL_NAME_OLD} \ --resource-group ${AKS_RESOURCE_GROUP}