Share via


Habilitar el limpiador de nodos inactivos

El Operador de Azure Nexus presenta una nueva característica denominada limpieza de nodos inactivos, que está deshabilitada de forma predeterminada. Ayuda a mover pods de servidor NFS desde un nodo con errores a un nuevo nodo cuando un host sin sistema operativo se apaga a través de la CLI de AZ. El siguiente procedimiento habilita el limpiador de nodos hacia abajo y es aplicable a entornos de campo verde y de campo marrón.

Requisitos previos

  • En este artículo se supone que ha instalado la interfaz de la línea de comandos de Azure y la extensión de networkcloud la interfaz de la línea de comandos. Para obtener más información, consulte Instalación de extensiones de la CLI.
  • Inicio de sesión en la CLI de Azure con la suscripción correcta
  • El estado de energía de la máquina completa de destino está activado y tiene readyState establecido en True
  • El usuario debe tener asignado el permiso adecuado para ejecutar el networkcloud baremetalmachine run-command

Pasos para habilitar el limpiador de nodos inactivos en el clúster

El procedimiento debe ejecutarse en nodos de administración. Para determinar qué nodos son nodos de administración, puede ejecutar la siguiente CLI baremetalmachine run-read-commandde Azure.

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>

Ejecute el siguiente comando para habilitar el limpiador de nodos inactivos.

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

El script ejecuta los siguientes comandos 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

Al ejecutar el comando run-command de baremetalmachine, el limpiador de nodos horizontalmente se escalará a una réplica y su pod debe estar en estado de ejecución. La salida tendría el siguiente aspecto:

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