CSM PowerFlex-Node-Pods bleiben bei init:0/2 hängen
Summary: Container-Storage-Module (CSM) PowerFlex-Node-Pods bleiben nach dem Neustart der Hosts aufgrund einiger Änderungen bei init:0/2 hängen.
Symptoms
Alle PowerFlex-Node-Pods hängen bei init:0/2 und gemeldeter Fehler "Warning FailedMount 8s (x6 over 23s) kubelet MountVolume.SetUp failed for volume "scaleio-path-bin" : mkdir /bin/emc: read-only file system " In der Pod-Beschreibung.
Das Problem trat mit CSM Operator 1.9 und 1.8.1 mit CSI-Treiber (Container Storage Interface) für PowerFlex 2.13.1 und 2.14 auf.
Cause
Die Ursache für dieses Problem ist, dass der CSM-Operator während der Initialisierung nicht feststellen kann, ob es in einer OpenShift-Umgebung ausgeführt wird. Diese Informationen werden für die spätere Verwendung zwischengespeichert. Es ist wahrscheinlich, dass zum Zeitpunkt des Startens des Operators mit dem folgenden Befehl nicht das erwartete Ergebnis zurückgegeben wurde:
oc get --raw /apis | jq | grep "security.openshift.io"
Dies deutet darauf hin, dass die security.openshift.io Die API-Gruppe (Application Programming Interface) war zu diesem Zeitpunkt möglicherweise nicht verfügbar.
Wenn Sie im Operator-Protokoll Folgendes sehen: [isOpenShift err false], bedeutet dies, dass der Bediener nicht in der Lage ist, die OpenShift-Umgebung zu bestimmen.
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"}
Die richtige Protokollmeldung zur Bestimmung der OpenShift-Umgebung lautet:
2025-06-19T00:03:14.913Z INFO workspace/main.go:138 Openshift environment {"TraceId": "main"}
Resolution
- Führen Sie den folgenden Befehl manuell aus:
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
- Das erwartete Ergebnis ist
# 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. Wenn die obige Ausgabe angezeigt wird, starten Sie den CSM-Operator neu:
oc delete pod dell-csm-operator-controller-manager-xxx-xxx -n openshift-operators
4. Wenn die Ausgabe nicht mit der oben genannten übereinstimmt, bitten Sie den Kunden, sich an den Red Hat Support zu wenden, um eine weitere Überprüfung durchzuführen.