Merge pull request #27060 from xing-yang/dev-1.21

Add doc for volume health monitoring
pull/27339/head
Kubernetes Prow Robot 2021-03-30 09:33:57 -07:00 committed by GitHub
commit 09755e69af
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 35 additions and 1 deletions

View File

@ -0,0 +1,32 @@
---
reviewers:
- jsafrane
- saad-ali
- msau42
- xing-yang
--
title: Volume Health Monitoring
content_type: concept
---
<!-- overview -->
{{< 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" >}}
<!-- body -->
## 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.

View File

@ -221,6 +221,7 @@ different Kubernetes components.
| `CSIPersistentVolume` | `false` | Alpha | 1.9 | 1.9 | | `CSIPersistentVolume` | `false` | Alpha | 1.9 | 1.9 |
| `CSIPersistentVolume` | `true` | Beta | 1.10 | 1.12 | | `CSIPersistentVolume` | `true` | Beta | 1.10 | 1.12 |
| `CSIPersistentVolume` | `true` | GA | 1.13 | - | | `CSIPersistentVolume` | `true` | GA | 1.13 | - |
| `CSIVolumeHealth` | `false` | Alpha | 1.21 | - |
| `CustomPodDNS` | `false` | Alpha | 1.9 | 1.9 | | `CustomPodDNS` | `false` | Alpha | 1.9 | 1.9 |
| `CustomPodDNS` | `true` | Beta| 1.10 | 1.13 | | `CustomPodDNS` | `true` | Beta| 1.10 | 1.13 |
| `CustomPodDNS` | `true` | GA | 1.14 | - | | `CustomPodDNS` | `true` | GA | 1.14 | - |
@ -370,7 +371,7 @@ different Kubernetes components.
| `TokenRequestProjection` | `false` | Alpha | 1.11 | 1.11 | | `TokenRequestProjection` | `false` | Alpha | 1.11 | 1.11 |
| `TokenRequestProjection` | `true` | Beta | 1.12 | 1.19 | | `TokenRequestProjection` | `true` | Beta | 1.12 | 1.19 |
| `TokenRequestProjection` | `true` | GA | 1.20 | - | | `TokenRequestProjection` | `true` | GA | 1.20 | - |
| `VolumeCapacityPriority` | `false` | Alpha | 1.21 | | | `VolumeCapacityPriority` | `false` | Alpha | 1.21 | - |
| `VolumeSnapshotDataSource` | `false` | Alpha | 1.12 | 1.16 | | `VolumeSnapshotDataSource` | `false` | Alpha | 1.12 | 1.16 |
| `VolumeSnapshotDataSource` | `true` | Beta | 1.17 | 1.19 | | `VolumeSnapshotDataSource` | `true` | Beta | 1.17 | 1.19 |
| `VolumeSnapshotDataSource` | `true` | GA | 1.20 | - | | `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. - `CSIVolumeFSGroupPolicy`: Allows CSIDrivers to use the `fsGroupPolicy` field.
This field controls whether volumes created by a CSIDriver support volume ownership This field controls whether volumes created by a CSIDriver support volume ownership
and permission modifications when these volumes are mounted. 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 - `ConfigurableFSGroupPolicy`: Allows user to configure volume permission change policy
for fsGroups when mounting a volume in a Pod. See 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) [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)