Skip to content

Commit 055a566

Browse files
Matthew Wongk8s-ci-robot
Matthew Wong
authored andcommitted
Graduate BlockVolume feature to beta (#10100)
1 parent ed0e702 commit 055a566

File tree

2 files changed

+8
-29
lines changed

2 files changed

+8
-29
lines changed

content/en/docs/concepts/storage/persistent-volumes.md

Lines changed: 7 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -310,11 +310,12 @@ Currently, storage size is the only resource that can be set or requested. Futu
310310
### Volume Mode
311311

312312
{{< feature-state for_k8s_version="v1.9" state="alpha" >}}
313+
{{< feature-state for_k8s_version="v1.13" state="beta" >}}
313314

314-
To enable this feature, enable the `BlockVolume` feature gate on the apiserver, controller-manager and the kubelet.
315+
The `BlockVolume` feature gate is enabled by default as of v1.13 on the apiserver, controller-manager and kubelet.
315316

316317
Prior to Kubernetes 1.9, all volume plugins created a filesystem on the persistent volume.
317-
Now, you can set the value of `volumeMode` to `raw` to use a raw block device, or `filesystem`
318+
Now, you can set the value of `volumeMode` to `block` to use a raw block device, or `filesystem`
318319
to use a filesystem. `filesystem` is the default if the value is omitted. This is an optional API
319320
parameter.
320321

@@ -541,9 +542,9 @@ spec:
541542
## Raw Block Volume Support
542543

543544
{{< feature-state for_k8s_version="v1.9" state="alpha" >}}
545+
{{< feature-state for_k8s_version="v1.13" state="beta" >}}
544546

545-
To enable support for raw block volumes, enable the `BlockVolume` feature gate on the
546-
apiserver, controller-manager and the kubelet.
547+
The `BlockVolume` feature gate is enabled by default as of v1.13 on the apiserver, controller-manager and kubelet.
547548

548549
The following volume plugins support raw block volumes, including dynamic provisioning where
549550
applicable.
@@ -562,6 +563,8 @@ applicable.
562563
Support for the additional plugins was added in 1.10.
563564
{{< /note >}}
564565

566+
`PersistentVolumeClaims` can only be bound to `PersistentVolumes` with the same `volumeMode.`
567+
565568
### Persistent Volumes using a Raw Block Volume
566569
```yaml
567570
apiVersion: v1
@@ -619,28 +622,6 @@ spec:
619622
**Note:** When adding a raw block device for a Pod, we specify the device path in the container instead of a mount path.
620623
{{< /note >}}
621624

622-
### Binding Block Volumes
623-
624-
If a user requests a raw block volume by indicating this using the `volumeMode` field in the `PersistentVolumeClaim` spec, the binding rules differ slightly from previous releases that didn't consider this mode as part of the spec.
625-
Listed is a table of possible combinations the user and admin might specify for requesting a raw block device. The table indicates if the volume will be bound or not given the combinations:
626-
Volume binding matrix for statically provisioned volumes:
627-
628-
| PV volumeMode | PVC volumeMode | Result |
629-
| --------------|:---------------:| ----------------:|
630-
| unspecified | unspecified | BIND |
631-
| unspecified | Block | NO BIND |
632-
| unspecified | Filesystem | BIND |
633-
| Block | unspecified | NO BIND |
634-
| Block | Block | BIND |
635-
| Block | Filesystem | NO BIND |
636-
| Filesystem | Filesystem | BIND |
637-
| Filesystem | Block | NO BIND |
638-
| Filesystem | unspecified | BIND |
639-
640-
{{< note >}}
641-
**Note:** Only statically provisioned volumes are supported for alpha release. Administrators should take care to consider these values when working with raw block devices.
642-
{{< /note >}}
643-
644625
## Volume Snapshot and Restore Volume from Snapshot Support
645626

646627
{{< feature-state for_k8s_version="v1.12" state="alpha" >}}

content/en/docs/concepts/storage/volumes.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -571,7 +571,6 @@ metadata:
571571
spec:
572572
capacity:
573573
storage: 100Gi
574-
# volumeMode field requires BlockVolume Alpha feature gate to be enabled.
575574
volumeMode: Filesystem
576575
accessModes:
577576
- ReadWriteOnce
@@ -594,8 +593,7 @@ the Kubernetes scheduler to correctly schedule Pods using local volumes to the
594593
correct node.
595594

596595
PersistentVolume `volumeMode` can now be set to "Block" (instead of the default
597-
value "Filesystem") to expose the local volume as a raw block device. The
598-
`volumeMode` field requires `BlockVolume` Alpha feature gate to be enabled.
596+
value "Filesystem") to expose the local volume as a raw block device.
599597

600598
When using local volumes, it is recommended to create a StorageClass with
601599
`volumeBindingMode` set to `WaitForFirstConsumer`. See the

0 commit comments

Comments
 (0)