-
Notifications
You must be signed in to change notification settings - Fork 14.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Overall docs for CSI Migration feature #12935
Merged
Merged
Changes from 6 commits
Commits
Show all changes
8 commits
Select commit
Hold shift + click to select a range
fd19cb8
Placeholder docs for CSI Migration feature
ddebroy 9573241
Address CR comments and update feature gates
ddebroy 070f374
Add mappings for CSI plugins
ddebroy 48f8fed
Add sections for AWS and GCE PD migration
ddebroy 9bf50fb
Add docs for Cinder and CSI Migration info
ddebroy 7eb44b8
Clarify scope to volumes with file system
ddebroy fccebd6
Change the format of EBS and Cinder CSI Migration sections to follow …
ddebroy a681199
Merge conflict in feature gates
ddebroy File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -70,6 +70,7 @@ Kubernetes supports several types of Volumes: | |
* [azureDisk](#azuredisk) | ||
* [azureFile](#azurefile) | ||
* [cephfs](#cephfs) | ||
* [cinder](#cinder) | ||
* [configMap](#configmap) | ||
* [csi](#csi) | ||
* [downwardAPI](#downwardapi) | ||
|
@@ -148,6 +149,12 @@ spec: | |
fsType: ext4 | ||
``` | ||
|
||
#### CSI Migration | ||
|
||
{{< feature-state for_k8s_version="v1.14" state="alpha" >}} | ||
|
||
To enable the feature, set `CSIMigration` and `CSIMigrationAWS` alpha feature gates to `true`. Once enabled, this feature shims all plugin operations from in-tree `awsElasticBlockStore` plugin to [AWS EBS CSI Driver](https://github.com/kubernetes-sigs/aws-ebs-csi-driver). To use this feature, AWS EBS CSI driver must be installed on the cluster. | ||
|
||
### azureDisk {#azuredisk} | ||
|
||
A `azureDisk` is used to mount a Microsoft Azure [Data Disk](https://azure.microsoft.com/en-us/documentation/articles/virtual-machines-linux-about-disks-vhds/) into a Pod. | ||
|
@@ -176,6 +183,43 @@ You must have your own Ceph server running with the share exported before you ca | |
|
||
See the [CephFS example](https://github.com/kubernetes/examples/tree/{{< param "githubbranch" >}}/staging/volumes/cephfs/) for more details. | ||
|
||
### cinder {#cinder} | ||
|
||
{{< note >}} | ||
Prerequisite: Kubernetes with OpenStack Cloud Provider configured. For cloudprovider | ||
configuration please refer [cloud provider openstack](https://kubernetes.io/docs/concepts/cluster-administration/cloud-providers/#openstack). | ||
{{< /note >}} | ||
|
||
`cinder` is used to mount OpenStack Cinder Volume into your Pod. | ||
|
||
#### Cinder Volume Example configuration | ||
|
||
```yaml | ||
apiVersion: v1 | ||
kind: Pod | ||
metadata: | ||
name: test-cinder | ||
spec: | ||
containers: | ||
- image: k8s.gcr.io/test-webserver | ||
name: test-cinder-container | ||
volumeMounts: | ||
- mountPath: /test-cinder | ||
name: test-volume | ||
volumes: | ||
- name: test-volume | ||
# This OpenStack volume must already exist. | ||
cinder: | ||
volumeID: <volume-id> | ||
fsType: ext4 | ||
``` | ||
|
||
#### CSI Migration | ||
|
||
{{< feature-state for_k8s_version="v1.14" state="alpha" >}} | ||
|
||
To enable the feature, set `CSIMigration` and `CSIMigrationOpenStack` alpha feature gates to `true`. Once enabled, this feature shims all plugin operations from in-tree `cinder` plugin to [Cinder CSI Driver](https://github.com/kubernetes/cloud-provider-openstack/blob/master/docs/using-cinder-csi-plugin.md). To use this feature, Cinder CSI driver must be installed on the cluster. | ||
|
||
### configMap {#configmap} | ||
|
||
The [`configMap`](/docs/tasks/configure-pod-container/configure-pod-configmap/) resource | ||
|
@@ -401,6 +445,17 @@ spec: | |
fsType: ext4 | ||
``` | ||
|
||
#### CSI Migration | ||
|
||
{{< feature-state for_k8s_version="v1.14" state="alpha" >}} | ||
|
||
The CSI Migration feature for GCE PD, when enabled, shims all plugin operations | ||
from the existing in-tree plugin to the `pd.csi.storage.gke.io` Container | ||
Storage Interface (CSI) Driver. In order to use this feature, the [GCE PD CSI | ||
Driver](https://github.com/kubernetes-sigs/gcp-compute-persistent-disk-csi-driver) | ||
must be installed on the cluster and the `CSIMigration` and `CSIMigrationGCE` | ||
Alpha features must be enabled. | ||
|
||
### gitRepo (deprecated) {#gitrepo} | ||
|
||
{{< warning >}} | ||
|
@@ -1235,6 +1290,23 @@ Learn how to | |
For more information on how to develop a CSI driver, refer to the [kubernetes-csi | ||
documentation](https://kubernetes-csi.github.io/docs/) | ||
|
||
#### Migrating to CSI drivers from in-tree plugins | ||
|
||
{{< feature-state for_k8s_version="v1.14" state="alpha" >}} | ||
|
||
The CSI Migration feature, when enabled, directs operations against existing in-tree | ||
plugins to corresponding CSI plugins (which are expected to be installed and configured). | ||
The feature implements the necessary translation logic and shims to re-route the | ||
operations in a seamless fashion. As a result, operators do not have to make any | ||
configuration changes to existing Storage Classes, PVs or PVCs (referring to | ||
in-tree plugins) when transitioning to a CSI driver that supersedes an in-tree plugin. | ||
|
||
In the alpha state, the operations and features that are supported include | ||
provisioning/delete, attach/detach and mount/unmount of volumes with `volumeMode` set to `filesystem` | ||
|
||
In-tree plugins that support CSI Migration and have a corresponding CSI driver implemented | ||
are listed in the "Types of Volumes" section above. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think this could just be added to the same PR There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Done |
||
|
||
### Flexvolume {#flexVolume} | ||
|
||
Flexvolume is an out-of-tree plugin interface that has existed in Kubernetes | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The other csi drivers don't actually specify the full plugin name. Which way do we want to go?