你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

启用节点关闭清理器

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 时,节点缩减清理器将扩展到一个副本 (replica),其 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