Skip to content

Commit

Permalink
clarify vSphere CSI driver docs (#7685)
Browse files Browse the repository at this point in the history
* clarify vSphere CSI driver docs

* fix vsphere csi header references

* Update vsphere-and-cloudstack-upgrades.md

---------

Co-authored-by: Abhay Krishna <[email protected]>
  • Loading branch information
csplinter and abhay-krishna authored Feb 22, 2024
1 parent 75f6ff0 commit fa86162
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 14 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -263,7 +263,7 @@ After finishing the task, make sure you resume the cluster reconciliation by rem
kubectl annotate clusters.anywhere.eks.amazonaws.com ${CLUSTER_NAME} -n ${CLUSTER_NAMESPACE} anywhere.eks.amazonaws.com/paused-
```

>**_NOTE (vSphere only):_** If you are upgrading a vSphere cluster created using EKS Anywhere version prior to `v0.16.0` that has the vSphere CSI Driver installed in it, please refer to the additional steps listed [here]({{< relref "../storage/vsphere-storage#csi-driver-cleanup-for-upgrades" >}}) before attempting an upgrade.
>**_NOTE (vSphere only):_** If you are upgrading a vSphere cluster created using EKS Anywhere version prior to `v0.16.0` that has the vSphere CSI Driver installed in it, please refer to the additional steps listed [here]({{< relref "../storage/vsphere-storage#vsphere-csi-driver-cleanup-for-upgrades" >}}) before attempting an upgrade.
### Upgradeable Cluster Attributes
EKS Anywhere `upgrade` supports upgrading more than just the `kubernetesVersion`,
Expand Down
22 changes: 10 additions & 12 deletions docs/content/en/docs/clustermgmt/storage/vsphere-storage.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,19 +7,21 @@ description: >
Managing storage on vSphere
---

EKS Anywhere clusters running on vSphere can leverage the vSphere Container Storage Plug-in (also called the vSphere CSI Driver) for dynamic provisioning of persistent storage volumes on vSphere storage infrastructure. The CSI Driver integrates with the Cloud Native Storage (CNS) component in vCenter for the purpose of volume provisioning via vSAN, attaching and detaching volumes to/from VMs, mounting, formatting, and unmounting volumes on/from pods, snapshots, cloning, dynamic volume expansion, etc.
EKS Anywhere clusters running on vSphere can leverage the vSphere Container Storage Plug-in (also called the [vSphere CSI Driver](https://github.com/kubernetes-sigs/vsphere-csi-driver)) for dynamic provisioning of persistent storage volumes on vSphere storage infrastructure. The CSI Driver integrates with the Cloud Native Storage (CNS) component in vCenter for the purpose of volume provisioning via vSAN, attaching and detaching volumes to/from VMs, mounting, formatting, and unmounting volumes on/from pods, snapshots, cloning, dynamic volume expansion, etc.

### vSphere CSI Driver Deprecation
### Bundled vSphere CSI Driver Removal

EKS Anywhere versions prior to `v0.16.0` supported the installation and management of the vSphere CSI Driver in EKS-A clusters. The CSI management components in EKS-A included a Kubernetes CSI controller Deployment, a node-driver-registrar DaemonSet, a default Storage Class, and a number of related Secrets and RBAC entities.
EKS Anywhere versions prior to `v0.16.0` included built-in installation and management of the vSphere CSI Driver in EKS Anywhere clusters. The vSphere CSI driver components in EKS Anywhere included a Kubernetes CSI controller Deployment, a node-driver-registrar DaemonSet, a default Storage Class, and a number of related Secrets and RBAC entities.

In EKS-A version `v0.16.0`, the CSI driver feature was deprecated as part of cluster creation and has been completely removed in version `v0.17.0`. However, you may self-manage this deployment to make use of the storage options provided by vSphere in a Kubernetes-native way.
In EKS Anywhere version `v0.16.0`, the built-in vSphere CSI driver feature was deprecated and was removed in EKS Anywhere version `v0.17.0`. You can still use the vSphere CSI driver with EKS Anywhere to make use of the storage options provided by vSphere in a Kubernetes-native way, but you must manage the installation and operation of the vSphere CSI driver on your EKS Anywhere clusters.

### CSI Driver Cleanup for Upgrades
Refer to the [vSphere CSI Driver documentation](https://docs.vmware.com/en/VMware-vSphere-Container-Storage-Plug-in) for the self-managed installation and management procedure. Refer to these [compatibiltiy matrices](https://docs.vmware.com/en/VMware-vSphere-Container-Storage-Plug-in/3.0/vmware-vsphere-csp-getting-started/GUID-D4AAD99E-9128-40CE-B89C-AD451DA8379D.html) to determine the correct version of the vSphere CSI Driver for the Kubernetes version and vSphere version you are running with EKS Anywhere.

If you are using EKS-A version `v0.16.0` and above to upgrade a cluster that has the vSphere CSI Driver installed in it, follow the below steps for proper cleanup of unmanaged vSphere CSI resources.
### vSphere CSI Driver Cleanup for Upgrades

These are the resources you would need to delete from your cluster:
If you are using an EKS Anywhere version `v0.16.0` or below, you must remove the EKS Anywhere-managed version of the vSphere CSI driver prior to upgrading to EKS Anywhere version `v0.17.0` or later. You do not need to run these steps if you are not using the EKS Anywhere-managed version of the vSphere CSI driver. If you are self-managing your vSphere CSI driver installation, it will persist through EKS Anywhere upgrades.

See below for instructions on how to remove the EKS Anywhere vSphere CSI driver objects. You must delete the DaemonSet and Deployment first, as they rely on the other resources.

#### `default` namespace
* `vsphere-csi-controller-role` (kind: `ClusterRole`)
Expand Down Expand Up @@ -57,8 +59,4 @@ These are the resources you would need to delete from your cluster:
* `<cluster-name>-csi` (kind: `ClusterResourceSet`)
```bash
kubectl delete clusterresourceset <cluster-name>-csi -n eksa-system
```

>**_NOTE:_** Delete the `DaemonSet` and `Deployment` first, as they rely on the other resources.
Once these resources have been removed, you can refer to the [vSphere CSI Driver documentation](https://docs.vmware.com/en/VMware-vSphere-Container-Storage-Plug-in) for the installation and management procedure. Please refer to these [compatibiltiy matrices](https://docs.vmware.com/en/VMware-vSphere-Container-Storage-Plug-in/3.0/vmware-vsphere-csp-getting-started/GUID-D4AAD99E-9128-40CE-B89C-AD451DA8379D.html) to determine the correct version of the CSI Driver for the Kubernetes version and vSphere version you are running.
```
2 changes: 1 addition & 1 deletion docs/content/en/docs/whatsnew/changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -475,7 +475,7 @@ ManageForeignRoutingPolicyRules=no
- CloudStack control plane host port is only defaulted in CAPI objects if not provided. ([#5792](https://github.com/aws/eks-anywhere/pull/5792)) ([#5736](https://github.com/aws/eks-anywhere/pull/5736))

### Deprecated
- Add warning to deprecate disableCSI through CLI ([#5918](https://github.com/aws/eks-anywhere/pull/5918)). Refer to the [deprecation section]({{< relref "../clustermgmt/storage/vsphere-storage/#vsphere-csi-driver-deprecation" >}}) in the vSphere provider documentation for more information.
- Add warning to deprecate disableCSI through CLI ([#5918](https://github.com/aws/eks-anywhere/pull/5918)). Refer to the [deprecation section]({{< relref "../clustermgmt/storage/vsphere-storage/#bundled-vsphere-csi-driver-removal" >}}) in the vSphere provider documentation for more information.

### Removed
- Kubernetes 1.22 support
Expand Down

0 comments on commit fa86162

Please sign in to comment.