Update vSphere CPI (#7838)

Changes:
  * ClusterRole updated according to the latest manifests from
    https://github.com/kubernetes/cloud-provider-vsphere
  * vSphere CPI/CSI default versions bumped and
    tested successfully on K8S 1.21.1
  * vSphere documentation updated

Signed-off-by: Vitaliy D <vi7alya@gmail.com>
This commit is contained in:
Vitaliy D 2021-07-30 03:17:37 +02:00 committed by GitHub
parent 20c284c276
commit 5db86f4c2b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 46 additions and 16 deletions

View file

@ -2,6 +2,12 @@
vSphere CSI driver allows you to provision volumes over a vSphere deployment. The Kubernetes historic in-tree cloud provider is deprecated and will be removed in future versions. vSphere CSI driver allows you to provision volumes over a vSphere deployment. The Kubernetes historic in-tree cloud provider is deprecated and will be removed in future versions.
## Prerequisites
The vSphere user for CSI driver requires a set of privileges to perform Cloud Native Storage operations. Follow the [official guide](https://vsphere-csi-driver.sigs.k8s.io/driver-deployment/prerequisites.html#roles_and_privileges) to configure those.
## Kubespray configuration
To enable vSphere CSI driver, uncomment the `vsphere_csi_enabled` option in `group_vars/all/vsphere.yml` and set it to `true`. To enable vSphere CSI driver, uncomment the `vsphere_csi_enabled` option in `group_vars/all/vsphere.yml` and set it to `true`.
To set the number of replicas for the vSphere CSI controller, you can change `vsphere_csi_controller_replicas` option in `group_vars/all/vsphere.yml`. To set the number of replicas for the vSphere CSI controller, you can change `vsphere_csi_controller_replicas` option in `group_vars/all/vsphere.yml`.
@ -18,16 +24,16 @@ You need to source the vSphere credentials you use to deploy your machines that
| external_vsphere_datacenter | TRUE | string | | | Datacenter name to use | | external_vsphere_datacenter | TRUE | string | | | Datacenter name to use |
| external_vsphere_kubernetes_cluster_id | TRUE | string | | "kubernetes-cluster-id" | Kubernetes cluster ID to use | | external_vsphere_kubernetes_cluster_id | TRUE | string | | "kubernetes-cluster-id" | Kubernetes cluster ID to use |
| external_vsphere_version | TRUE | string | | "6.7u3" | Vmware Vsphere version where located all VMs | | external_vsphere_version | TRUE | string | | "6.7u3" | Vmware Vsphere version where located all VMs |
| vsphere_cloud_controller_image_tag | TRUE | string | | "latest" | Kubernetes cluster ID to use | | external_vsphere_cloud_controller_image_tag | TRUE | string | | "latest" | Kubernetes cluster ID to use |
| vsphere_syncer_image_tag | TRUE | string | | "v1.0.2" | Syncer image tag to use | | vsphere_syncer_image_tag | TRUE | string | | "v2.2.1" | Syncer image tag to use |
| vsphere_csi_attacher_image_tag | TRUE | string | | "v1.1.1" | CSI attacher image tag to use | | vsphere_csi_attacher_image_tag | TRUE | string | | "v3.1.0" | CSI attacher image tag to use |
| vsphere_csi_controller | TRUE | string | | "v1.0.2" | CSI controller image tag to use | | vsphere_csi_controller | TRUE | string | | "v2.2.1" | CSI controller image tag to use |
| vsphere_csi_controller_replicas | TRUE | integer | | 1 | Number of pods Kubernetes should deploy for the CSI controller | | vsphere_csi_controller_replicas | TRUE | integer | | 1 | Number of pods Kubernetes should deploy for the CSI controller |
| vsphere_csi_liveness_probe_image_tag | TRUE | string | | "v1.1.0" | CSI liveness probe image tag to use | | vsphere_csi_liveness_probe_image_tag | TRUE | string | | "v2.2.0" | CSI liveness probe image tag to use |
| vsphere_csi_provisioner_image_tag | TRUE | string | | "v1.2.2" | CSI provisioner image tag to use | | vsphere_csi_provisioner_image_tag | TRUE | string | | "v2.1.0" | CSI provisioner image tag to use |
| vsphere_csi_node_driver_registrar_image_tag | TRUE | string | | "v1.1.0" | CSI node driver registrat image tag to use | | vsphere_csi_node_driver_registrar_image_tag | TRUE | string | | "v1.1.0" | CSI node driver registrat image tag to use |
| vsphere_csi_driver_image_tag | TRUE | string | | "v1.0.2" | CSI driver image tag to use | | vsphere_csi_driver_image_tag | TRUE | string | | "v1.0.2" | CSI driver image tag to use |
| vsphere_csi_resizer_tag | TRUE | string | | "v1.0.0" | CSI resizer image tag to use | vsphere_csi_resizer_tag | TRUE | string | | "v1.1.0" | CSI resizer image tag to use
## Usage example ## Usage example
@ -61,7 +67,7 @@ spec:
- containerPort: 80 - containerPort: 80
protocol: TCP protocol: TCP
volumeMounts: volumeMounts:
- mountPath: /var/lib/www/html - mountPath: /usr/share/nginx/html
name: csi-data-vsphere name: csi-data-vsphere
volumes: volumes:
- name: csi-data-vsphere - name: csi-data-vsphere
@ -83,8 +89,8 @@ csi-pvc-vsphere Bound pvc-dc7b1d21-ee41-45e1-98d9-e877cc1533ac 1Gi
And the volume mounted to the Nginx Pod (wait until the Pod is Running): And the volume mounted to the Nginx Pod (wait until the Pod is Running):
```ShellSession ```ShellSession
kubectl exec -it nginx -- df -h | grep /var/lib/www/html kubectl exec -it nginx -- df -h | grep /usr/share/nginx/html
/dev/sdb 976M 2.6M 907M 1% /var/lib/www/html /dev/sdb 976M 2.6M 907M 1% /usr/share/nginx/html
``` ```
## More info ## More info

View file

@ -11,13 +11,21 @@
# external_vsphere_version: "6.7u3" # external_vsphere_version: "6.7u3"
## Tags for the external vSphere Cloud Provider images ## Tags for the external vSphere Cloud Provider images
## gcr.io/cloud-provider-vsphere/cpi/release/manager
# external_vsphere_cloud_controller_image_tag: "latest" # external_vsphere_cloud_controller_image_tag: "latest"
# vsphere_syncer_image_tag: "v1.0.2" ## gcr.io/cloud-provider-vsphere/csi/release/syncer
# vsphere_csi_attacher_image_tag: "v1.1.1" # vsphere_syncer_image_tag: "v2.2.1"
# vsphere_csi_controller: "v1.0.2" ## quay.io/k8scsi/csi-attacher
# vsphere_csi_liveness_probe_image_tag: "v1.1.0" # vsphere_csi_attacher_image_tag: "v3.1.0"
# vsphere_csi_provisioner_image_tag: "v1.2.2" ## gcr.io/cloud-provider-vsphere/csi/release/driver
# vsphere_csi_resizer_tag: "v1.0.0" # vsphere_csi_controller: "v2.2.1"
## quay.io/k8scsi/livenessprobe
# vsphere_csi_liveness_probe_image_tag: "v2.2.0"
## quay.io/k8scsi/csi-provisioner
# vsphere_csi_provisioner_image_tag: "v2.1.0"
## quay.io/k8scsi/csi-resizer
## makes sense only for vSphere version >=7.0
# vsphere_csi_resizer_tag: "v1.1.0"
## To use vSphere CSI plugin to provision volumes set this value to true ## To use vSphere CSI plugin to provision volumes set this value to true
# vsphere_csi_enabled: true # vsphere_csi_enabled: true

View file

@ -34,6 +34,12 @@ items:
- patch - patch
- update - update
- watch - watch
- apiGroups:
- ""
resources:
- services/status
verbs:
- patch
- apiGroups: - apiGroups:
- "" - ""
resources: resources:
@ -71,5 +77,15 @@ items:
- get - get
- list - list
- watch - watch
- apiGroups:
- "coordination.k8s.io"
resources:
- leases
verbs:
- get
- list
- watch
- create
- update
kind: List kind: List
metadata: {} metadata: {}