CSM PowerFlexノード ポッドがinit:0/2でスタックする
Summary: コンテナ ストレージ モジュール(CSM) PowerFlexノード ポッドに適用された変更により、ホストが再起動された後、init:0/2でスタックします。
Symptoms
すべてのPowerFlexノード ポッドが 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 " ポッドの説明。
この問題は、PowerFlex 2.13.1および2.14用のコンテナ ストレージ インターフェイス(CSI)ドライバーを搭載したCSMオペレーター1.9および1.8.1で発生していました。
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サポートに連絡して詳細を確認するようにお客様に依頼します。