Skip to content
Script to install CNS- Cloud Native Storage - CSI Driver for VMware
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Quickly Intalling Cloud Native Storage for Pure Storage

Prereqs Install K8s on VM's and make sure disk.EnableUUID=1 setting is set in the vms. CNS Documentation

Step 1. clone this repo

git clone

Step 2. Get your vCenter information from your VI admin. Edit the file to contain the correct settings.

VCENTER="<vcenter name or IP>"
VC_ADMIN="<vc admin>"
VC_PASS="<vc password>"
VC_DATACENTER="<vc datacentername>"
VC_NETWORK="<vc vm network name>"

Step 3. Create a VMFS Datastore (Sorry vVols is not yet supported by VMWare)

Step 4. VMware requires all the master to be tainted this way.

MASTERS=$(kubectl get node --selector='' -o name)
for n in $MASTERS
    kubectl taint nodes $n
kubectl describe nodes | egrep "Taints:|Name:"

Step 5.

# ./

To Remove

Remove all PVC's created with the Storage Class.

kubectl delete pvc <pvcname>

Then run the cleanup script.


You can run kubectl get all --all-namespaces to verify


If the CSI driver for vSphere does not start, the Cloud Controller may not have untainted the nodes when it initilized. I am have seen it work automatically and also had to run this:

NODES=$(kubectl get nodes -o name)
for n in $NODES
    kubectl taint nodes $n
kubectl describe nodes | egrep "Taints:|Name:"
You can’t perform that action at this time.