I pod dei nodi PowerFlex CSM sono bloccati a init:0/2
Summary: I pod dei nodi Container Storage Module (CSM) PowerFlex si bloccano a init:0/2 dopo il riavvio degli host a causa di alcune modifiche applicate.
Symptoms
Tutti i pod dei nodi PowerFlex sono bloccati in init:0/2 ed errore segnalato "Warning FailedMount 8s (x6 over 23s) kubelet MountVolume.SetUp failed for volume "scaleio-path-bin" : mkdir /bin/emc: read-only file system " nella descrizione del pod.
Il problema si è verificato con CSM Operator 1.9 e 1.8.1 con driver CSI (Container Storage Interface) per PowerFlex 2.13.1 e 2.14.
Cause
La root cause di questo problema è che l'operatore CSM non è in grado di determinare se è in esecuzione in un'ambiente OpenShift durante l'inizializzazione. Memorizza nella cache tali informazioni per un uso successivo. È probabile che al momento dell'avvio dell'operatore, il seguente comando non abbia restituito il risultato previsto:
oc get --raw /apis | jq | grep "security.openshift.io"
Ciò suggerisce che il security.openshift.io Il gruppo API (Application Programming Interface) potrebbe non essere disponibile in quel momento.
Nel registro dell'operatore, se viene visualizzato [isOpenShift err false], significa che l'operatore non è in grado di determinare l'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"}
Il messaggio di registro corretto per determinare l'ambiente OpenShift è:
2025-06-19T00:03:14.913Z INFO workspace/main.go:138 Openshift environment {"TraceId": "main"}
Resolution
- Eseguire manualmente il seguente 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
- Il risultato atteso è
# 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 viene visualizzato l'output riportato sopra, riavviare l'operatore CSM:
oc delete pod dell-csm-operator-controller-manager-xxx-xxx -n openshift-operators
4. Se l'output non è lo stesso di cui sopra, chiedere al cliente di contattare il supporto Red Hat per ulteriori verifiche.