CSM PowerFlex 節點 pod 卡在初始化:0/2
Summary: 容器儲存模組 (CSM) 由於某些變更套用變更,在主機重新開機後,PowerFlex 節點 pod 卡在 init:0/2。
Symptoms
所有 PowerFlex 節點 pod 都卡在 init:0/2 與報告的錯誤 "Warning FailedMount 8s (x6 over 23s) kubelet MountVolume.SetUp failed for volume "scaleio-path-bin" : mkdir /bin/emc: read-only file system " 在豆莢描述中。
此問題發生在 CSM Operator 1.9 和 1.8.1 與 PowerFlex 2.13.1 和 2.14 的容器儲存介面 (CSI) 驅動程式。
Cause
此問題的根本原因在於 CSM 操作員無法判斷其在初始化期間是否正在 OpenShift 環境中執行。它會緩存該資訊以供以後使用。很可能在運算子啟動時,以下命令未返回預期結果:
oc get --raw /apis | jq | grep "security.openshift.io"
這表明 security.openshift.io 應用程式發展介面 (API) 群組當時可能尚未提供。
在操作員日誌中,如果您看到 [isOpenShift err false],這意味著操作員無法確定 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"}
判斷 OpenShift 環境的正確記錄訊息為:
2025-06-19T00:03:14.913Z INFO workspace/main.go:138 Openshift environment {"TraceId": "main"}
Resolution
- 手動執行下列命令:
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
- 預期結果是
# 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.如果您看到上述輸出,請重新啟動 CSM 運算子:
oc delete pod dell-csm-operator-controller-manager-xxx-xxx -n openshift-operators
4.如果輸出與上述不同,請客戶聯絡 Red Hat 支援以進一步檢查。