Verwaltete Knotengruppen auf Azure Kubernetes Service (AKS)
Siehe Erstellen und Verwalten mehrerer Knotenpools für einen Cluster in Azure Kubernetes Service (AKS) für weitere Informationen.
Im Folgenden finden Sie ein Beispiel, um Clusterknoten mit einer neuen Speicherkapazität zu ersetzen.
Speichererweiterung
AKS unterstützt keine zusätzlichen Festplatten in seiner Vorlage. Es ist möglich, Festplatten manuell anzuschließen. Dann muss das Rohgerät entweder manuell in der VM gemountet oder beim Start mit der CustomScriptExtension gemountet werden, die in AKS nicht unterstützt wird.
-
In Longhorn setzen Sie
replica-replenishment-wait-intervalauf0. -
Fügen Sie einen neuen Knotenpool hinzu. Später werden die Longhorn-Komponenten automatisch auf den Knoten in diesem Pool bereitgestellt.
AKS_NODEPOOL_NAME_NEW=<new-nodepool-name> AKS_RESOURCE_GROUP=<aks-resource-group> AKS_CLUSTER_NAME=<aks-cluster-name> AKS_DISK_SIZE_NEW=<new-disk-size-in-gb> AKS_NODE_NUM=<number-of-nodes> AKS_K8S_VERSION=<kubernetes-version> 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_NEW} \ --kubernetes-version ${AKS_K8S_VERSION} \ --mode System -
Verwenden Sie die Longhorn-Benutzeroberfläche, um die Festplattenplanung zu deaktivieren und die Räumung für Knoten im alten Knotenpool anzufordern.
-
Markieren Sie die Kubernetes-Knoten im alten Knotenpool als unschedulbar und räumen Sie sie.
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 -
Löschen Sie den alten Knotenpool.
az aks nodepool delete \ --cluster-name ${AKS_CLUSTER_NAME} \ --name ${AKS_NODEPOOL_NAME_OLD} \ --resource-group ${AKS_RESOURCE_GROUP}