Skip to content
Openshift 2 min read

Erro “MachineConfigPool worker is not ready” durante o upgrade do OpenShift

MachineConfigPool de workers degradado no OpenShift

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 wide

O comando retornará uma saída semelhante a esta:

NAME     CONFIG                                  UPDATED   UPDATING   DEGRADED 
worker   rendered-worker-123456789abcdef         False     True       True

Esses valores indicam o seguinte:

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

A 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          4h

Identifique o pod correspondente ao node com problema e consulte seus logs:

oc logs -n openshift-machine-config-operator machine-config-daemon-abcdef

Os 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

Depois disso, reinicie o node:

sudo reboot

2.2 Validando o ajuste

Quando o node e o MCD voltarem, consulte novamente o estado do MachineConfigPool:

oc get machineconfigpool worker

Se tudo tiver funcionado, a saída esperada será:

NAME     CONFIG                                  UPDATED   UPDATING   DEGRADED 
worker   rendered-worker-abcdef123456            True      False      False

Nesse 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.

LinkedIn | GitHub | GitLab | Credly | E-mail