Share via


Ativar o limpador de nó para baixo

O Azure Operator Nexus introduz um novo recurso chamado node down cleaner, que é desabilitado por padrão. Ele ajuda a mover pods de servidor NFS de um nó com falha para um novo nó quando um host bare metal é desligado através da AZ CLI. O procedimento a seguir permite uma limpeza mais limpa do nó e é aplicável para ambientes de campo verde e campo marrom.

Pré-requisitos

  • Este artigo pressupõe que você tenha instalado a interface de linha de comando do Azure e a extensão da interface de linha de networkcloud comando. Para obter mais informações, consulte Como instalar extensões CLI.
  • Conectado à CLI do Azure com a assinatura correta
  • O estado de energia da máquina bare metal de destino está ativado e tem readyState definido como True
  • O usuário deve ter a permissão apropriada atribuída para executar o networkcloud baremetalmachine run-command

Etapas para habilitar o limpador de nó para baixo no cluster

O procedimento precisa ser executado em nós de gerenciamento. Para determinar quais nós são nós de gerenciamento, você pode executar a seguinte CLI baremetalmachine run-read-commanddo 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>

Execute o seguinte comando para ativar o limpador de nó para baixo

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

O script executa os seguintes 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

Na execução do comando run-machine baremetalmachine, o limpador de nó para baixo será dimensionado para uma réplica e seu pod deve estar em estado de execução. A saída seria semelhante a:

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