Moving CSI to Out of Tree section; linking to out of tree plugin FAQ (#7564)
This commit is contained in:
@@ -215,38 +215,6 @@ keyed with `log_level`.
|
|||||||
receive ConfigMap updates.
|
receive ConfigMap updates.
|
||||||
{: .note}
|
{: .note}
|
||||||
|
|
||||||
### csi
|
|
||||||
|
|
||||||
CSI stands for [Container Storage Interface](https://github.com/container-storage-interface/spec/blob/master/spec.md),
|
|
||||||
a specification attempting to establish an industry standard interface that
|
|
||||||
Container Orchestration Systems (COs) can use to expose arbitrary storage systems
|
|
||||||
to their container workloads.
|
|
||||||
For more information about the details, please check the
|
|
||||||
[design proposal](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/storage/container-storage-interface.md).
|
|
||||||
|
|
||||||
<!-- TODO: add link to the kubernetes extension section -->
|
|
||||||
The `csi` volume type is an in-tree CSI volume plugin for Pods to interact
|
|
||||||
with external CSI volume drivers running on the same node.
|
|
||||||
After having deployed a CSI compatible volume driver, users can use `csi` as the
|
|
||||||
volume type to mount the storage provided by the driver.
|
|
||||||
|
|
||||||
CSI persistent volume support is introduced in Kubernetes v1.9 as an alpha feature
|
|
||||||
which has to be explicitly enabled by the cluster administrator. In other words,
|
|
||||||
the cluster administrator needs to add "`CSIPersistentVolume=true`" to the
|
|
||||||
"`--feature-gates=`" flag for the apiserver, the controller-manager and the kubelet
|
|
||||||
components.
|
|
||||||
|
|
||||||
A CSI persistent volume has the following fields for users to specify:
|
|
||||||
|
|
||||||
- `driver`: A string value that specifies the name of the volume driver to use.
|
|
||||||
It has to be less than 63 characters and starts with a character. The driver
|
|
||||||
name can have '`.`', '`-`', '`_`' or digits in it.
|
|
||||||
- `volumeHandle`: A string value that uniquely identify the volume name returned
|
|
||||||
from the CSI volume plugin's `CreateVolume` call. The volume handle is then
|
|
||||||
used in all subsequent calls to the volume driver for referencing the volume.
|
|
||||||
- `readOnly`: An optional boolean value indicating whether the volume is to be
|
|
||||||
published as read only. Default is false.
|
|
||||||
|
|
||||||
### downwardAPI
|
### downwardAPI
|
||||||
|
|
||||||
A `downwardAPI` volume is used to make downward API data available to applications.
|
A `downwardAPI` volume is used to make downward API data available to applications.
|
||||||
@@ -990,16 +958,50 @@ several media types.
|
|||||||
## Out-of-Tree Volume Plugins
|
## Out-of-Tree Volume Plugins
|
||||||
In addition to the previously listed volume types, storage vendors may create
|
In addition to the previously listed volume types, storage vendors may create
|
||||||
custom plugins without adding it to the Kubernetes repository. This can be
|
custom plugins without adding it to the Kubernetes repository. This can be
|
||||||
achieved by using the `FlexVolume` plugin.
|
achieved by using either the `CSI` plugin or the `FlexVolume` plugin.
|
||||||
|
|
||||||
|
For storage vendors looking to create an out-of-tree volume plugin, [please refer to this FAQ](https://github.com/kubernetes/community/blob/master/sig-storage/volume-plugin-faq.md) for choosing between the plugin options.
|
||||||
|
|
||||||
|
### CSI
|
||||||
|
|
||||||
|
CSI stands for [Container Storage Interface](https://github.com/container-storage-interface/spec/blob/master/spec.md),
|
||||||
|
a specification attempting to establish an industry standard interface that
|
||||||
|
container orchestration systems can use to expose arbitrary storage systems
|
||||||
|
to their container workloads.
|
||||||
|
Please read
|
||||||
|
[CSI design proposal](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/storage/container-storage-interface.md) for further information.
|
||||||
|
|
||||||
|
<!-- TODO: add link to the kubernetes extension section -->
|
||||||
|
The `csi` volume type is an in-tree CSI volume plugin for Pods to interact
|
||||||
|
with external CSI volume drivers running on the same node.
|
||||||
|
After having deployed a CSI compatible volume driver, users can use `csi` as the
|
||||||
|
volume type to mount the storage provided by the driver.
|
||||||
|
|
||||||
|
CSI persistent volume support is an alpha feature in Kubernetes v1.9 and requires a
|
||||||
|
cluster administrator to enable it. To enable CSI persistent volume support, the
|
||||||
|
cluster administrator adds `CSIPersistentVolume=true` to the `--feature-gates` flag
|
||||||
|
for apiserver, controller-manager, and kubelet.
|
||||||
|
|
||||||
|
The following fields are available to storage administrators to configure a CSI
|
||||||
|
persistent volume:
|
||||||
|
|
||||||
|
- `driver`: A string value that specifies the name of the volume driver to use.
|
||||||
|
It has to be less than 63 characters and starts with a character. The driver
|
||||||
|
name can have '`.`', '`-`', '`_`' or digits in it.
|
||||||
|
- `volumeHandle`: A string value that uniquely identify the volume name returned
|
||||||
|
from the CSI volume plugin's `CreateVolume` call. The volume handle is then
|
||||||
|
used in all subsequent calls to the volume driver for referencing the volume.
|
||||||
|
- `readOnly`: An optional boolean value indicating whether the volume is to be
|
||||||
|
published as read only. Default is false.
|
||||||
|
|
||||||
|
### FlexVolume
|
||||||
`FlexVolume` enables users to mount vendor volumes into a pod. The vendor plugin
|
`FlexVolume` enables users to mount vendor volumes into a pod. The vendor plugin
|
||||||
is implemented using a driver, an executable supporting a list of volume commands
|
is implemented using a driver, an executable supporting a list of volume commands
|
||||||
defined by the `FlexVolume` API. Drivers must be installed in a pre-defined
|
defined by the `FlexVolume` API. Drivers must be installed in a pre-defined
|
||||||
volume plugin path on each node.
|
volume plugin path on each node. Pods interact with FlexVolume drivers through the `flexVolume` in-tree plugin.
|
||||||
|
|
||||||
More details can be found [here](https://github.com/kubernetes/community/blob/master/contributors/devel/flexvolume.md).
|
More details can be found [here](https://github.com/kubernetes/community/blob/master/contributors/devel/flexvolume.md).
|
||||||
|
|
||||||
|
|
||||||
## Mount propagation
|
## Mount propagation
|
||||||
|
|
||||||
**Note:** Mount propagation is an alpha feature in Kubernetes 1.8 and may be
|
**Note:** Mount propagation is an alpha feature in Kubernetes 1.8 and may be
|
||||||
|
|||||||
Reference in New Issue
Block a user