diff --git a/content/en/docs/concepts/storage/persistent-volumes.md b/content/en/docs/concepts/storage/persistent-volumes.md index b4e28a0a72552..242eff1967092 100644 --- a/content/en/docs/concepts/storage/persistent-volumes.md +++ b/content/en/docs/concepts/storage/persistent-volumes.md @@ -221,7 +221,7 @@ resizing to take place. Also, file system resizing is only supported for followi * AWSElasticBlockStore * AzureFile * AzureDisk -* FC (Fibre Channel)** +* FC (Fibre Channel) * FlexVolume * Flocker * NFS @@ -237,8 +237,6 @@ resizing to take place. Also, file system resizing is only supported for followi * ScaleIO Volumes * StorageOS -Raw Block Support exists for these plugins only. - ## Persistent Volumes Each PV contains a spec and status, which is the specification and status of the volume. @@ -272,11 +270,14 @@ Currently, storage size is the only resource that can be set or requested. Futu ### Volume Mode -Prior to v1.9, the default behavior for all volume plugins was to create a filesystem on the persistent volume. With v1.9, the user can specify a `volumeMode` which will now support raw block devices in addition to file systems. Valid values for `volumeMode` are "Filesystem" or "Block". If left unspecified, `volumeMode` defaults to "Filesystem" internally. This is an optional API parameter. +{{< feature-state for_k8s_version="v1.9" state="alpha" >}} -{{< note >}} -**Note:** This feature is alpha in v1.9 and may change in the future. -{{< /note >}} +To enable this feature, enable the `BlockVolume` feature gate on the apiserver, controller-manager and the kubelet. + +Prior to Kubernetes 1.9, all volume plugins created a filesystem on the persistent volume. +Now, you can set the value of `volumeMode` to `raw` to use a raw block device, or `filesystem` +to use a filesystem. `filesystem` is the default if the value is omitted. This is an optional API +parameter. ### Access Modes @@ -499,7 +500,26 @@ spec: ## Raw Block Volume Support -Static provisioning support for Raw Block Volumes is included as an alpha feature for v1.9. With this change are some new API fields that need to be used to facilitate this functionality. Kubernetes v1.10 supports only Fibre Channel and Local Volume plugins for this feature. +{{< feature-state for_k8s_version="v1.9" state="alpha" >}} + +To enable support for raw block volumes, enable the `BlockVolume` feature gate on the +apiserver, controller-manager and the kubelet. + +The following volume plugins support raw block volumes, including dynamic provisioning where +applicable. + +* AWSElasticBlockStore +* AzureDisk +* FC (Fiber Channel) +* GCEPersistentDisk +* iSCSI +* Local volume +* RBD (Ceph Block Device) + +{{< note >}} +**Note**: Only FC and iSCSI volumes supported raw block volumes in Kubernetes 1.9. +Support for the additional plugins was added in 1.10. +{{< /note >}} ### Persistent Volumes using a Raw Block Volume ```yaml