CSM PowerFlex 节点 Pod 卡在 init:0/2 处

摘要: 由于应用了一些更改,容器存储模块 (CSM) PowerFlex 节点 Pod 在主机重新启动后卡在 init:0/2。

本文适用于 本文不适用于 本文并非针对某种特定的产品。 本文并非包含所有产品版本。

症状

所有 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 " 在 pod description 中。  

使用 PowerFlex 2.13.1 和 2.14 的容器存储接口 (CSI) 驱动程序的 CSM Operator 1.9 和 1.8.1 出现问题。

原因

此问题的根本原因是 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"}

解决方案

解决办法:

  1. 手动运行以下命令:

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

  1. 预期结果是 

# 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-account
yes

        3.如果您看到上面的输出,请重新启动 CSM 操作员:

oc delete pod dell-csm-operator-controller-manager-xxx-xxx -n openshift-operators

        4.如果输出与上面不同,请让客户联系 Red Hat 支持以进一步检查。

解决方案:

工程部门已在 Dell Container Storage Modules Operator 版本 1.10.1 中解决了此问题。

受影响的产品

Container Storage Modules Family, Container Storage Modules
文章属性
文章编号: 000335617
文章类型: Solution
上次修改时间: 28 1月 2026
版本:  2
从其他戴尔用户那里查找问题的答案
支持服务
检查您的设备是否在支持服务涵盖的范围内。