ノード ダウン クリーナーを有効にする

Azure Operator Nexus には、ノードダウン クリーンer という新機能が導入されています。これは既定で無効になっています。 これは、ベア メタル ホストが AZ CLI を使用して電源をオフにした場合に、障害が発生したノードから新しいノードに NFS サーバー ポッドを移動するのに役立ちます。 次の手順では、ノードをダウンクリーン可能にし、緑のフィールド環境とブラウン フィールド環境の両方に適用できます。

前提条件

  • この記事では、Azure コマンド ライン インターフェイスとコマンド ライン インターフェイス拡張機能が networkcloud インストールされていることを前提としています。 詳細については、「CLI 拡張機能をインストールする方法」を参照してください。
  • 正しいサブスクリプションを使用して Azure CLI にログインしました
  • ターゲットのベア メタル マシンの電源状態がオンで、readyState が True に設定されている
  • ユーザーには、次の操作を実行するための適切なアクセス許可が割り当てられている必要があります。 networkcloud baremetalmachine run-command

クラスターでノードダウン クリーンer を有効にする手順

この手順は、管理ノードに対して実行する必要があります。 どのノードが管理ノードであるかを確認するには、次の 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>

次のコマンドを実行して、ノードダウン クリーンer を有効にします。

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 を実行すると、ノードダウン クリーンer は 1 つのレプリカにスケーリングされ、そのポッドは実行中の状態である必要があります。 出力は次のようになります。

====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