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-command
do 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