Raw block volume GA (#19338)
* Raw block volume GA Feature BlockVolume reaches GA in 1.17 * Add volumeMode overview
This commit is contained in:
@@ -319,12 +319,24 @@ Currently, storage size is the only resource that can be set or requested. Futu
|
||||
|
||||
### Volume Mode
|
||||
|
||||
{{< feature-state for_k8s_version="v1.13" state="beta" >}}
|
||||
{{< feature-state for_k8s_version="v1.18" state="stable" >}}
|
||||
|
||||
Prior to Kubernetes 1.9, all volume plugins created a filesystem on the persistent volume.
|
||||
Now, you can set the value of `volumeMode` to `block` 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.
|
||||
Kubernetes supports two `volumeModes` of PersistentVolumes: `Filesystem` and `Block`.
|
||||
|
||||
`volumeMode` is an optional API parameter.
|
||||
`Filesystem` is the default mode used when `volumeMode` parameter is omitted.
|
||||
|
||||
A volume with `volumeMode: Filesystem` is *mounted* into Pods into a directory. If the volume
|
||||
is backed by a block device and the device is empty, Kuberneretes creates a filesystem
|
||||
on the device before mounting it for the first time.
|
||||
|
||||
You can set the value of `volumeMode` to `Block` to use a volume as a raw block device.
|
||||
Such volume is presented into a Pod as a block device, without any filesystem on it.
|
||||
This mode is useful to provide a Pod the fastest possible way to access a volume, without
|
||||
any filesystem layer between the Pod and the volume. On the other hand, the application
|
||||
running in the Pod must know how to handle a raw block device.
|
||||
See [Raw Block Volume Support](docs/concepts/storage/persistent-volumes/#raw-block-volume-support)
|
||||
for an example on how to use a volume with `volumeMode: Block` in a Pod.
|
||||
|
||||
### Access Modes
|
||||
|
||||
@@ -559,24 +571,21 @@ spec:
|
||||
|
||||
## Raw Block Volume Support
|
||||
|
||||
{{< feature-state for_k8s_version="v1.13" state="beta" >}}
|
||||
{{< feature-state for_k8s_version="v1.18" state="stable" >}}
|
||||
|
||||
The following volume plugins support raw block volumes, including dynamic provisioning where
|
||||
applicable:
|
||||
|
||||
* AWSElasticBlockStore
|
||||
* AzureDisk
|
||||
* CSI
|
||||
* FC (Fibre Channel)
|
||||
* GCEPersistentDisk
|
||||
* iSCSI
|
||||
* Local volume
|
||||
* OpenStack Cinder
|
||||
* RBD (Ceph Block Device)
|
||||
* VsphereVolume (alpha)
|
||||
|
||||
{{< 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 >}}
|
||||
* VsphereVolume
|
||||
|
||||
### Persistent Volumes using a Raw Block Volume
|
||||
|
||||
|
||||
@@ -1302,19 +1302,13 @@ persistent volume:
|
||||
|
||||
#### CSI raw block volume support
|
||||
|
||||
{{< feature-state for_k8s_version="v1.14" state="beta" >}}
|
||||
{{< feature-state for_k8s_version="v1.18" state="stable" >}}
|
||||
|
||||
Starting with version 1.11, CSI introduced support for raw block volumes, which
|
||||
relies on the raw block volume feature that was introduced in a previous version of
|
||||
Kubernetes. This feature will make it possible for vendors with external CSI drivers to
|
||||
implement raw block volumes support in Kubernetes workloads.
|
||||
Vendors with external CSI drivers can implement raw block volumes support
|
||||
in Kubernetes workloads.
|
||||
|
||||
CSI block volume support is feature-gated, but enabled by default. The two
|
||||
feature gates which must be enabled for this feature are `BlockVolume` and
|
||||
`CSIBlockVolume`.
|
||||
|
||||
Learn how to
|
||||
[setup your PV/PVC with raw block volume support](/docs/concepts/storage/persistent-volumes/#raw-block-volume-support).
|
||||
You can [setup your PV/PVC with raw block volume support](/docs/concepts/storage/persistent-volumes/#raw-block-volume-support)
|
||||
as usual, without any CSI specific changes.
|
||||
|
||||
#### CSI ephemeral volumes
|
||||
|
||||
|
||||
Reference in New Issue
Block a user