Kubernetes v1.21 [alpha]CSI 存储卷健康监控功能允许 CSI 驱动程序从底层存储系统检测异常存储卷状况,并将它们报告为 PVC 或 Pod 上的事件。
Kubernetes 存储卷健康监控 是 Kubernetes 实现容器存储接口 (CSI) 的一部分。存储卷健康监控功能在两个组件中实现:外部健康监控控制器(External Health Monitor controller)和 kubelet。
如果 CSI 驱动程序支持控制器端的存储卷健康监控功能,当在 CSI 存储卷上检测到异常状况时,相关的 PersistentVolumeClaim (PVC) 上将会报告一个事件。
外部健康监控 控制器 也会监视节点故障事件。你可以通过将 enable-node-watcher 标志设置为 true 来启用节点故障监控。当外部健康监控器检测到节点故障事件时,控制器会在 PVC 上报告一个事件,以指示使用此 PVC 的 Pod 所在的节点已发生故障。
如果 CSI 驱动程序支持节点端的存储卷健康监控功能,当在 CSI 存储卷上检测到异常状况时,每个使用该 PVC 的 Pod 上都会报告一个事件。此外,存储卷健康信息还作为 Kubelet VolumeStats 指标暴露出来。新增了一个指标 kubelet_volume_stats_health_status_abnormal。该指标包含两个标签:namespace 和 persistentvolumeclaim。计数值为 1 或 0。1 表示存储卷不健康,0 表示存储卷健康。有关更多信息,请查看 KEP。
请参阅 CSI 驱动程序文档,了解哪些 CSI 驱动程序已经实现了此功能。