容器存储模块操作员:“可用”属性导致不正确的故障状态报告

摘要: 容器存储模块操作员:驱动程序控制器缩减后,“可用”属性会导致部署中的故障状态报告不正确。

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

症状

ContainerStorageModule 对象错误地报告 Status:使用 CSM Operator 缩减部署的 CSM 组件时失败。使用以下命令进行检查: kubectl describe 命令验证每个 SP 是处于正常模式还是修复模式。


示例:
  1. 通过将控制器计数从 2 更改为 1 来缩减现有驱动程序部署:
Kubectl scale deploy/driver-controller -n [namespace] –replicas=1
deployment.apps/driver-controller scaled
  1. 获取部署的名称:
kubectl get deployment -n [namespace]
NAME                         READY   UP-TO-DATE   AVAILABLE   AGE
driver-controller            1/1     1            1           14m
  1. 描述部署(显示为失败):
kubectl describe csm -n [namespace] [deployment]
( . . .)
Status:
  Controller Status:
    Available:  2
    Desired:    1
    Failed:     0
  Node Status:
    Available:  2
    Desired:    2
    Failed:     0
  State:        Failed
(. . .)

尽管 状态:在以下项中失败 kubectl describe 命令输出,控制器缩减成功。不会影响驱动程序的功能。可通过在以下位置运行以下任一命令来验证这一点: Kubernetes 大约一小时后:

kubectl get pods -n [namespace]
NAME                READY   STATUS    RESTARTS   AGE
driver-controller   5/5     Running   0          16m
driver-node         2/2     Running   0          16m
driver-node         2/2     Running   0          16m

kubectl get replicaset -n [namespace]
NAME                DESIRED   CURRENT   READY   AGE
driver-controller   1         1         1       17m

kubectl get deployment -n [namespace]
NAME                         READY   UP-TO-DATE   AVAILABLE   AGE
driver-controller            1/1     1            1           24m

原因

根本原因是请求部署状态时 CSM 操作员代码中的计时问题。该代码请求从 ContainerStorageModule 对象更新状态,然后再在缩减期间更新“Available”参数。这会导致“可用”和“所需”之间在短时间内出现差异。此差异会在一小时后自动协调。对驱动程序的功能没有影响。

解决方案

解决 方案:
无需解决方法。大约一小时后,“可用”属性会正确更新,并正确报告状态。驱动程序功能在任何时候都不会受到影响。

受影响的产品

Container Storage Modules

产品

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