Read this article in English.
Ao gerenciar um cluster OpenShift, você pode encontrar o erro “MachineConfigPool worker is not ready”. Ele indica que houve um problema na aplicação da MachineConfig e que os nodes não conseguiram chegar ao estado Ready. Em geral, a origem está no Machine Config Daemon (MCD), responsável por aplicar essas configurações.
Neste artigo, mostro como investiguei o estado do pool, consultei os logs do MCD e forcei uma nova tentativa de aplicação da configuração.
1. Diagnosticando o problema
Antes de aplicar qualquer ajuste, o primeiro passo é identificar a causa. O OpenShift oferece estados, logs e ferramentas nativas que ajudam nessa investigação.
1.1 Verifique o status do MachineConfigPool
Para entender o estado do MachineConfigPool, execute:
oc get machineconfigpool worker -o wideO comando retornará uma saída semelhante a esta:
NAME CONFIG UPDATED UPDATING DEGRADED
worker rendered-worker-123456789abcdef False True TrueEsses valores indicam o seguinte:
- UPDATED = False: a configuração ainda não foi aplicada com sucesso.
- UPDATING = True: o cluster ainda está tentando aplicar as mudanças.
- DEGRADED = True: ocorreu uma falha durante a aplicação da configuração.
Se o node estiver degradado, é provável que o Machine Config Daemon não tenha conseguido aplicar a configuração.
1.2 Consulte os logs do MachineConfigDaemon
O MachineConfigDaemon é executado como DaemonSet nos nodes e aplica as configurações nos workers. Para localizar a falha, consulte os logs do pod associado ao node afetado.
Primeiro, liste os pods do MachineConfigDaemon:
oc get pods -n openshift-machine-config-operatorA saída será semelhante a esta:
NAME READY STATUS RESTARTS AGE
machine-config-daemon-abcdef 1/1 Running 0 4h
machine-config-daemon-ghijkl 1/1 Running 0 4hIdentifique o pod correspondente ao node com problema e consulte seus logs:
oc logs -n openshift-machine-config-operator machine-config-daemon-abcdefOs logs do MCD mostram falhas durante o reboot, problemas de autenticação ou dificuldades na aplicação da nova configuração.
2. Corrigindo o problema
Se os logs indicarem que o MachineConfigDaemon travou ou não aplicou a atualização corretamente, é possível forçar uma nova tentativa.
2.1 Forçando a reaplicação da configuração
Execute os comandos abaixo no node afetado:
sudo rm /etc/machine-config-daemon/currentconfig
sudo touch /run/machine-config-daemon-force- O primeiro comando remove o arquivo da configuração atual e permite que o daemon tente novamente.
- O segundo sinaliza ao daemon que a configuração deve ser reexecutada.
Depois disso, reinicie o node:
sudo reboot2.2 Validando o ajuste
Quando o node e o MCD voltarem, consulte novamente o estado do MachineConfigPool:
oc get machineconfigpool workerSe tudo tiver funcionado, a saída esperada será:
NAME CONFIG UPDATED UPDATING DEGRADED
worker rendered-worker-abcdef123456 True False FalseNesse ponto, o upgrade do OpenShift deverá continuar normalmente.
💡 Quem sou eu?
Sou Gabriel Carmo, CNCF Kubestronaut, com certificações CKA, CKAD, CKS, KCNA e KCSA, além de Red Hat Certified OpenShift Administrator.
Atuo em DevOps Engineering, construindo e evoluindo plataformas Kubernetes multi-cloud. Meu trabalho tem como foco reduzir a carga cognitiva das equipes de engenharia por meio de platform engineering, automação, GitOps e experiências self-service.
No dia a dia, conecto infraestrutura como código, cloud networking, governança, segurança, observabilidade e práticas de SRE para criar plataformas mais padronizadas, resilientes e fáceis de operar.