From 05cae37d5600537fbdd49cec72a234488fec856f Mon Sep 17 00:00:00 2001 From: xing-yang Date: Mon, 15 Mar 2021 04:44:44 +0000 Subject: [PATCH] Add doc for volume health monitoring --- .../storage/volume-health-monitoring.md | 32 +++++++++++++++++++ .../feature-gates.md | 4 ++- 2 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 content/en/docs/concepts/storage/volume-health-monitoring.md diff --git a/content/en/docs/concepts/storage/volume-health-monitoring.md b/content/en/docs/concepts/storage/volume-health-monitoring.md new file mode 100644 index 0000000000..d31778fdf8 --- /dev/null +++ b/content/en/docs/concepts/storage/volume-health-monitoring.md @@ -0,0 +1,32 @@ +--- +reviewers: +- jsafrane +- saad-ali +- msau42 +- xing-yang +-- +title: Volume Health Monitoring +content_type: concept +--- + + + +{{< glossary_tooltip text="CSI" term_id="csi" >}} volume health monitoring allows CSI Drivers to detect abnormal volume conditions from the underlying storage systems and report them as events on {{< glossary_tooltip text="PVCs" term_id="persistent-volume-claim" >}} or {{< glossary_tooltip text="Pods" term_id="pod" >}}. + +{{< feature-state for_k8s_version="v1.21" state="alpha" >}} + + + +## Volume Health Monitoring + +The Volume Health Monitoring feature is part of Kubernetes implementation of Container Storage Interface (CSI). The Volume Health Monitoring feature is implemented in two components: External Health Monitor Controller and Kubelet. + +If a CSI Driver supports Volume Health Monitoring feature from the controller side, an event will be reported on the PVC when an abnormal volume condition is detected on a CSI volume. + +External Health Monitor Controller will also watch for node failure events. This can be enabled by setting the `enable-node-watcher` flag to true. When a node failure event is detected, an event will be reported on the PVC to indicate that pods using this PVC are on a failed node. + +If a CSI Driver supports Volume Health Monitoring feature from the node side, an event will be reported on every Pod using the PVC when an abnormal volume condition is detected on a CSI volume. + +Note that you need to enable the `CSIVolumeHealth` feature gate to use this feature from the node side. + +See CSI driver [docs](https://kubernetes-csi.github.io/docs/drivers.html) to find out which CSI drivers have implemented this feature. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates.md b/content/en/docs/reference/command-line-tools-reference/feature-gates.md index cf03d2212f..a6411f7c83 100644 --- a/content/en/docs/reference/command-line-tools-reference/feature-gates.md +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates.md @@ -221,6 +221,7 @@ different Kubernetes components. | `CSIPersistentVolume` | `false` | Alpha | 1.9 | 1.9 | | `CSIPersistentVolume` | `true` | Beta | 1.10 | 1.12 | | `CSIPersistentVolume` | `true` | GA | 1.13 | - | +| `CSIVolumeHealth` | `false` | Alpha | 1.21 | - | | `CustomPodDNS` | `false` | Alpha | 1.9 | 1.9 | | `CustomPodDNS` | `true` | Beta| 1.10 | 1.13 | | `CustomPodDNS` | `true` | GA | 1.14 | - | @@ -370,7 +371,7 @@ different Kubernetes components. | `TokenRequestProjection` | `false` | Alpha | 1.11 | 1.11 | | `TokenRequestProjection` | `true` | Beta | 1.12 | 1.19 | | `TokenRequestProjection` | `true` | GA | 1.20 | - | -| `VolumeCapacityPriority` | `false` | Alpha | 1.21 | | +| `VolumeCapacityPriority` | `false` | Alpha | 1.21 | - | | `VolumeSnapshotDataSource` | `false` | Alpha | 1.12 | 1.16 | | `VolumeSnapshotDataSource` | `true` | Beta | 1.17 | 1.19 | | `VolumeSnapshotDataSource` | `true` | GA | 1.20 | - | @@ -555,6 +556,7 @@ Each feature gate is designed for enabling/disabling a specific feature: - `CSIVolumeFSGroupPolicy`: Allows CSIDrivers to use the `fsGroupPolicy` field. This field controls whether volumes created by a CSIDriver support volume ownership and permission modifications when these volumes are mounted. +- `CSIVolumeHealth`: Enable support for CSI volume health monitoring on node. - `ConfigurableFSGroupPolicy`: Allows user to configure volume permission change policy for fsGroups when mounting a volume in a Pod. See [Configure volume permission and ownership change policy for Pods](/docs/tasks/configure-pod-container/security-context/#configure-volume-permission-and-ownership-change-policy-for-pods)