Skip to content

Commit

Permalink
Update block device support for 1.11 (#8895)
Browse files Browse the repository at this point in the history
* Update block device support for 1.11

* Copyedits
  • Loading branch information
jsafrane authored and k8s-ci-robot committed Jun 6, 2018
1 parent 097d08a commit 2fe6136
Showing 1 changed file with 28 additions and 8 deletions.
36 changes: 28 additions & 8 deletions content/en/docs/concepts/storage/persistent-volumes.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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.
Expand Down Expand Up @@ -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

Expand Down Expand Up @@ -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
Expand Down

0 comments on commit 2fe6136

Please sign in to comment.