VDO(vSphere Kubernetes Driver Operator) is built out of operator-sdk. The operator is configured to run on master node, with a single replica deployment.
VDO operator is built to run on vanilla k8s cluster as well Openshift clusters
With every new release of VDO, support for new features and various bug fixes are delivered
Each release is launched with the following deliverables
Docker image for VDO can be found here (vdo.tar.gz)
Deployment file (vdo-spec-vanilla-k8s.yaml) containing the specs of VDO which includes the CRD, Service accounts, Roles and Role Binding details
To fetch the compatible CSI and CPI version according to the respective kubernetes/ vSphere versions, a new Compatibility matrix (compatibility.yaml) yaml is released with every release
If you wish to Contribute or setup the Developer's environment, you can download our source code in Source code (zip) or Source code (tar.gz) format and for further steps, refer to the Developer guide
In order to deploy VDO using the command-line interface VDOCTL, you can follow the below steps
Download the VDOCTL binary and untar it as
- for Linux env
wget https://github.com/vmware-tanzu/vsphere-kubernetes-drivers-operator/releases/download/0.1.1/vdoctl-linux-0.1.1.tar.gz
tar -xvf vdoctl-linux-0.1.1.tar.gz
- for Mac env
wget https://github.com/vmware-tanzu/vsphere-kubernetes-drivers-operator/releases/download/0.1.1/vdoctl-mac-0.1.1.tar.gz
tar -xvf vdoctl-mac-0.1.1.tar.gz
Move the vdoctl executable to location in the $PATH
folder
Before deploying the operator, set the KUBECONFIG path by
# Set up environment variables by
export KUBECONFIG=~/.kube/config
or YOUR-KUBECONFIG_PATH
Run the vdoctl deploy command to deploy VDO
vdoctl deploy --spec https://github.com/vmware-tanzu/vsphere-kubernetes-drivers-operator/releases/download/0.1.1/vdo-spec-vanilla-k8s.yaml
Here, spec
flag inputs the file containing details about the CRD, docker image, default compatibility matrix
For more details, please refer vdo-spec-vanilla-k8s.yaml
Once the VDO is deployed, you will see that the VDO manager pod is in Running
state and configures the default compatibility matrix
vmware-system-vdo vdo-controller-manager-5bd4ffcc88-z5ltl 2/2 Running 0 40s
Configure custom compatibility matrix to fetch compatible CSI and CPI yamls using vdoctl configure compatibility-matrix command
vdoctl configure compatibility-matrix
✔ Web URL
Web URL https://github.com/vmware-tanzu/vsphere-kubernetes-drivers-operator/releases/download/0.1.1/compatibility.yaml
Tip: Compatibility matrix has been configured, you might want to try 'vdoctl configure drivers' to configure vsphere drivers.
The Compatibility matrix used can be found here (compatibility.yaml)
Note: vdoctl deploys vdo with a default compatibility matrix. This uses the default matrix available at compatibility.yaml. Once VDO is deployed, user can choose to update the compatiblity matrix using vdoctl update command
To configure the CloudProvider and StorageProvider, run the vdoctl configure drivers command
For more details, please refer Configure Drivers
Once the drivers are deployed, status of CloudProvider and StorageProvider can be fetched using vdoctl status
vdoctl status
CloudProvider : Configured
vCenter :
10.10.10.10 (Credentials Verified)
Nodes :
master-vm : ready
worker-vm : ready
StorageProvider : Deployed
vCenter :
10.10.10.10 (Credentials Verified)
Version of VDO and drivers can be fetched using vdoctl version
vdoctl version
kubernetes Version : 1.21
VDO Version : v0.1.0-beta
vSphere Versions : [7.0.3]
CSI Version : 2.2.1
CPI Version : 1.20.0
Drivers can be updated by updating the compatibility matrix using vdoctl update compatibility-matrix command
vdoctl update compatibility-matrix <path-to-updated-compat-matrix>
Compatibility matrix has been updated successfully.
Existing pods of CloudProvider and StorageProvider are terminated and new pods are spawned according to the compatible versions of CSI and CPI
To delete the VDO deployment and associated artifacts from the cluster provided, run the vdoctl delete vdo command
vdoctl delete vdo
This command deletes the VDO operator deployment eventually the operator pods will be deleted