Add documentation on storageClass.mountOptions and PV.mountOptions (#5254)
* Add documentation on storageClass.mountOptions and PV.mountOptions * convert notes into callouts
This commit is contained in:
committed by
Andrew Chen
parent
5edcbfd1f1
commit
62f4bc8a55
@@ -150,6 +150,9 @@ Each PV contains a spec and status, which is the specification and status of the
|
|||||||
- ReadWriteOnce
|
- ReadWriteOnce
|
||||||
persistentVolumeReclaimPolicy: Recycle
|
persistentVolumeReclaimPolicy: Recycle
|
||||||
storageClassName: slow
|
storageClassName: slow
|
||||||
|
mountOptions:
|
||||||
|
- hard
|
||||||
|
- nfsvers=4.1
|
||||||
nfs:
|
nfs:
|
||||||
path: /tmp
|
path: /tmp
|
||||||
server: 172.17.0.2
|
server: 172.17.0.2
|
||||||
@@ -225,47 +228,14 @@ Current reclaim policies are:
|
|||||||
|
|
||||||
Currently, only NFS and HostPath support recycling. AWS EBS, GCE PD, Azure Disk, and Cinder volumes support deletion.
|
Currently, only NFS and HostPath support recycling. AWS EBS, GCE PD, Azure Disk, and Cinder volumes support deletion.
|
||||||
|
|
||||||
### Phase
|
|
||||||
|
|
||||||
A volume will be in one of the following phases:
|
|
||||||
|
|
||||||
* Available -- a free resource that is not yet bound to a claim
|
|
||||||
* Bound -- the volume is bound to a claim
|
|
||||||
* Released -- the claim has been deleted, but the resource is not yet reclaimed by the cluster
|
|
||||||
* Failed -- the volume has failed its automatic reclamation
|
|
||||||
|
|
||||||
The CLI will show the name of the PVC bound to the PV.
|
|
||||||
|
|
||||||
### Mount Options
|
### Mount Options
|
||||||
|
|
||||||
A Kubernetes administrator can specify additional mount options for when a Persistent Volume is being mounted on a node.
|
A Kubernetes administrator can specify additional mount options for when a Persistent Volume is mounted on a node.
|
||||||
|
|
||||||
You can specify a mount option by using the annotation `volume.beta.kubernetes.io/mount-options` on
|
**Note:** Not all Persistent volume types support mount options.
|
||||||
your Persistent Volume.
|
{: .note}
|
||||||
|
|
||||||
For example:
|
The following volume types support mount options:
|
||||||
|
|
||||||
```yaml
|
|
||||||
apiVersion: "v1"
|
|
||||||
kind: "PersistentVolume"
|
|
||||||
metadata:
|
|
||||||
name: gce-disk-1
|
|
||||||
annotations:
|
|
||||||
volume.beta.kubernetes.io/mount-options: "discard"
|
|
||||||
spec:
|
|
||||||
capacity:
|
|
||||||
storage: "10Gi"
|
|
||||||
accessModes:
|
|
||||||
- "ReadWriteOnce"
|
|
||||||
gcePersistentDisk:
|
|
||||||
fsType: "ext4"
|
|
||||||
pdName: "gce-disk-1"
|
|
||||||
```
|
|
||||||
|
|
||||||
A mount option is a string which will be cumulatively joined and used while mounting volume to the disk.
|
|
||||||
|
|
||||||
Note that not all Persistent volume types support mount options. In Kubernetes version 1.6, the following
|
|
||||||
volume types support mount options.
|
|
||||||
|
|
||||||
* GCEPersistentDisk
|
* GCEPersistentDisk
|
||||||
* AWSElasticBlockStore
|
* AWSElasticBlockStore
|
||||||
@@ -281,6 +251,22 @@ volume types support mount options.
|
|||||||
* Quobyte Volumes
|
* Quobyte Volumes
|
||||||
* VMware Photon
|
* VMware Photon
|
||||||
|
|
||||||
|
Mount options are not validated, so mount will simply fail if one is invalid.
|
||||||
|
|
||||||
|
In the past, the annotation `volume.beta.kubernetes.io/mount-options` was used instead
|
||||||
|
of the `mountOptions` attribute. This annotation is still working, however
|
||||||
|
it will become fully deprecated in a future Kubernetes release.
|
||||||
|
|
||||||
|
### Phase
|
||||||
|
|
||||||
|
A volume will be in one of the following phases:
|
||||||
|
|
||||||
|
* Available -- a free resource that is not yet bound to a claim
|
||||||
|
* Bound -- the volume is bound to a claim
|
||||||
|
* Released -- the claim has been deleted, but the resource is not yet reclaimed by the cluster
|
||||||
|
* Failed -- the volume has failed its automatic reclamation
|
||||||
|
|
||||||
|
The CLI will show the name of the PVC bound to the PV.
|
||||||
|
|
||||||
## PersistentVolumeClaims
|
## PersistentVolumeClaims
|
||||||
|
|
||||||
@@ -355,8 +341,10 @@ to Kubernetes cluster by addon manager during installation.
|
|||||||
|
|
||||||
When a PVC specifies a `selector` in addition to requesting a `StorageClass`,
|
When a PVC specifies a `selector` in addition to requesting a `StorageClass`,
|
||||||
the requirements are ANDed together: only a PV of the requested class and with
|
the requirements are ANDed together: only a PV of the requested class and with
|
||||||
the requested labels may be bound to the PVC. Note that currently, a PVC with a
|
the requested labels may be bound to the PVC.
|
||||||
non-empty `selector` can't have a PV dynamically provisioned for it.
|
|
||||||
|
**Note:** Currently, a PVC with a non-empty `selector` can't have a PV dynamically provisioned for it.
|
||||||
|
{: .note}
|
||||||
|
|
||||||
In the past, the annotation `volume.beta.kubernetes.io/storage-class` was used instead
|
In the past, the annotation `volume.beta.kubernetes.io/storage-class` was used instead
|
||||||
of `storageClassName` attribute. This annotation is still working, however
|
of `storageClassName` attribute. This annotation is still working, however
|
||||||
@@ -412,6 +400,8 @@ metadata:
|
|||||||
provisioner: kubernetes.io/aws-ebs
|
provisioner: kubernetes.io/aws-ebs
|
||||||
parameters:
|
parameters:
|
||||||
type: gp2
|
type: gp2
|
||||||
|
mountOptions:
|
||||||
|
- debug
|
||||||
```
|
```
|
||||||
|
|
||||||
### Provisioner
|
### Provisioner
|
||||||
@@ -462,6 +452,14 @@ PV after it is created.
|
|||||||
Persistent Volumes that are created manually and managed via a storage class will have
|
Persistent Volumes that are created manually and managed via a storage class will have
|
||||||
whatever reclaim policy they were assigned at creation.
|
whatever reclaim policy they were assigned at creation.
|
||||||
|
|
||||||
|
### Mount Options
|
||||||
|
Persistent Volumes that are dynamically created by a storage class will have the
|
||||||
|
mount options specified in the `mountOptions` field of the class.
|
||||||
|
|
||||||
|
If the volume plugin does not support mount options but mount options are
|
||||||
|
specified, provisioning will fail. Mount options are not validated on neither
|
||||||
|
the class nor PV, so mount of the PV will simply fail if one is invalid.
|
||||||
|
|
||||||
### Parameters
|
### Parameters
|
||||||
Storage classes have parameters that describe volumes belonging to the storage
|
Storage classes have parameters that describe volumes belonging to the storage
|
||||||
class. Different parameters may be accepted depending on the `provisioner`. For
|
class. Different parameters may be accepted depending on the `provisioner`. For
|
||||||
|
|||||||
Reference in New Issue
Block a user