From 6d8245323187193e932fa513afc3a49620576b5b Mon Sep 17 00:00:00 2001 From: Michelle Au Date: Wed, 22 Nov 2017 16:04:57 -0800 Subject: [PATCH] Update storage class recommendations with GA fields --- docs/concepts/storage/persistent-volumes.md | 26 +++++++-------------- 1 file changed, 8 insertions(+), 18 deletions(-) diff --git a/docs/concepts/storage/persistent-volumes.md b/docs/concepts/storage/persistent-volumes.md index aebe9c5cf6..ccd6070c7e 100644 --- a/docs/concepts/storage/persistent-volumes.md +++ b/docs/concepts/storage/persistent-volumes.md @@ -428,28 +428,18 @@ and need persistent storage, we recommend that you use the following pattern: the config may not have permission to create PersistentVolumes. - Give the user the option of providing a storage class name when instantiating the template. - - If the user provides a storage class name, and the cluster is version 1.4 - or newer, put that value into the `volume.beta.kubernetes.io/storage-class` - annotation of the PVC. This will cause the PVC to match the right storage + - If the user provides a storage class name, put that value into the + `persistentVolumeClaim.storageClassName` field. + This will cause the PVC to match the right storage class if the cluster has StorageClasses enabled by the admin. - - If the user does not provide a storage class name or the cluster is version - 1.3, then instead put a `volume.alpha.kubernetes.io/storage-class: default` - annotation on the PVC. + - If the user does not provide a storage class name, leave the + `persistentVolumeClaim.storageClassName` field as nil. - This will cause a PV to be automatically provisioned for the user with - sane default characteristics on some clusters. - - Despite the word `alpha` in the name, the code behind this annotation has - `beta` level support. - - Do not use `volume.beta.kubernetes.io/storage-class:` with any value - including the empty string since it will prevent `DefaultStorageClass` - admission controller from running if enabled. + the default StorageClass in the cluster. Many cluster environments have + a default StorageClass installed, or administrators can create their own + default StorageClass. - In your tooling, do watch for PVCs that are not getting bound after some time and surface this to the user, as this may indicate that the cluster has no dynamic storage support (in which case the user should create a matching PV) or the cluster has no storage system (in which case the user cannot deploy config requiring PVCs). -- In the future, we expect most clusters to have `DefaultStorageClass` enabled, - and to have some form of storage available. However, there may not be any - storage class names which work on all clusters, so continue to not set one by - default. - At some point, the alpha annotation will cease to have meaning, but the unset - `storageClass` field on the PVC will have the desired effect.