Os pods de nó do PowerFlex do CSM estão presos na inicialização:0/2
Summary: Módulos de armazenamento de contêiner (CSM) Os pods de nó do PowerFlex ficam presos em init:0/2 depois que os hosts são reinicializados devido a algumas alterações aplicadas neles.
Symptoms
Todos os pods de nó do PowerFlex estão presos em init:0/2 e erro relatado "Warning FailedMount 8s (x6 over 23s) kubelet MountVolume.SetUp failed for volume "scaleio-path-bin" : mkdir /bin/emc: read-only file system " Na descrição do pod.
O problema ocorreu com o CSM Operator 1.9 e 1.8.1 com o driver de interface de armazenamento de contêiner (CSI) para PowerFlex 2.13.1 e 2.14.
Cause
A causa raiz desse problema é que o operador do CSM não consegue determinar se ele está sendo executado em um ambiente OpenShift durante a inicialização. Ele armazena essas informações em cache para uso posterior. É provável que, no momento da inicialização do operador, o seguinte comando não tenha retornado o resultado esperado:
oc get --raw /apis | jq | grep "security.openshift.io"
Isso sugere que o security.openshift.io O grupo de interface de programação de aplicativos (API) pode não estar disponível no momento.
No log do operador, se você vir [isOpenShift err false], isso significa que o operador não consegue determinar o ambiente OpenShift.
2025-06-17T08:45:38.167Z INFO workspace/main.go:99 isOpenShift err false {"TraceId": "main"}2025-06-17T08:45:38.168Z INFO workspace/main.go:105 Kubernetes environment {"TraceId": "main"}
A mensagem de log correta para determinar o ambiente OpenShift é:
2025-06-19T00:03:14.913Z INFO workspace/main.go:138 Openshift environment {"TraceId": "main"}
Resolution
- Execute manualmente o seguinte comando:
oc get --raw /apis | jq | grep "security.openshift.io"
and
oc auth can-i get /apis/security.openshift.io --as=system:serviceaccount:dell-csm-operator:dell-csm-operator-manager-service-account
- O resultado esperado é
# oc get --raw /apis | jq | grep "security.openshift.io" "name": "security.openshift.io", "groupVersion": "security.openshift.io/v1", "groupVersion": "security.openshift.io/v1",
# oc auth can-i get /apis/security.openshift.io --as=system:serviceaccount:dell-csm-operator:dell-csm-operator-manager-service-accountyes
3. Se você vir a saída acima, reinicie o operador do CSM:
oc delete pod dell-csm-operator-controller-manager-xxx-xxx -n openshift-operators
4. Se o resultado não for o mesmo acima, peça ao cliente para entrar em contato com o suporte da Red Hat para verificar mais.