啟用節點關閉清除程式
Azure 操作員 Nexus 引進了稱為節點關閉清理工具的新功能,預設會停用此功能。 當裸機主機透過 AZ CLI 關閉時,它有助於將 NFS 伺服器 Pod 從失敗的節點移至新節點。 下列程式可讓節點關閉更清潔,並適用於綠地和棕色字段環境。
必要條件
- 本文假設您已安裝 Azure 命令行介面和
networkcloud
命令行介面延伸模組。 如需詳細資訊,請參閱 如何安裝 CLI 延伸模組。 - 使用正確的訂用帳戶登入 Azure CLI
- 目標裸機機電源狀態為開啟,且 readyState 已設定為 True
- 用戶必須獲指派適當的許可權,才能執行
networkcloud baremetalmachine run-command
在叢集上啟用節點關閉清除程式的步驟
程式必須針對管理節點執行。 若要判斷哪些節點是管理節點,您可以執行下列 Azure CLI baremetalmachine run-read-command
。
az networkcloud baremetalmachine run-read-command --name <any-ready-baremetal-machine> \
--commands "[{command:'kubectl get',arguments:[nodes,-l,platform.afo-nc.microsoft.com/role=control-plane]}]" \
--limit-time-seconds 60 \
--resource-group <cluster-managed-resource-group> \
--subscription <subscription>
執行下列命令以啟用節點關閉清理程式
az networkcloud baremetalmachine run-command --bare-metal-machine-name <management-node-baremetal-machine> \
--subscription <subscription> \
--resource-group <cluster-managed-resource-group> \
--limit-time-seconds 60 \
--script "IyEvYmluL2Jhc2gKCmt1YmVjdGwgZ2V0IGRlcGxveW1lbnQgLW4gbmMtc3lzdGVtIG5vZGUtZG93
bi1jbGVhbmVyCgprdWJlY3RsIHNjYWxlIGRlcGxveW1lbnQgLW4gbmMtc3lzdGVtIG5vZGUtZG93
bi1jbGVhbmVyIC0tcmVwbGljYXM9MQoKa3ViZWN0bCBnZXQgZGVwbG95bWVudCAtbiBuYy1zeXN0
ZW0gbm9kZS1kb3duLWNsZWFuZXIKCmt1YmVjdGwgZ2V0IHBvZHMgLW4gbmMtc3lzdGVtIC1sIGFw
cC5rdWJlcm5ldGVzLmlvL25hbWU9bm9kZS1kb3duLWNsZWFuZXIKCg=="
文稿會執行下列 kubectl 命令:
kubectl get deployment -n nc-system node-down-cleaner
kubectl scale deployment -n nc-system node-down-cleaner --replicas=1
kubectl get deployment -n nc-system node-down-cleaner
sleep 5s
kubectl get pods -n nc-system -l app.kubernetes.io/name=node-down-cleaner
在執行 baremetalmachine run-command 時,節點關閉清除程式會調整為一個複本,且其 Pod 應處於執行中狀態。 輸出看起來會像這樣:
====Action Command Output====
NAME READY UP-TO-DATE AVAILABLE AGE
node-down-cleaner 0/0 0 0 4d9h
deployment.apps/node-down-cleaner scaled
NAME READY UP-TO-DATE AVAILABLE AGE
node-down-cleaner 0/1 1 0 4d9h
NAME READY STATUS RESTARTS AGE
node-down-cleaner-xxxxxxxxxxxxxx 1/1 Running 0 5s