This Helm Chart deploys the vSphere CSI drivers for Kubernetes Tenant Clusters managed by Kamaji Operator, the Open Source Control Plane Manager implementing the Hosted Control Plane architecture. In this setup, the control plane runs as pods in a Management Cluster, separate from the worker nodes.
The chart implements a Split CSI Controller Architecture:
- The Tenant Cluster's control plane and CSI Storage Controller run in the Management Cluster.
- The CSI Node Driver runs on the Tenant Cluster's worker nodes.
- Communication between the CSI Controller and Node Driver occurs via the Tenant Cluster's API server.
This design enhances security by isolating vSphere credentials from tenant users while ensuring seamless integration with Cluster API.
The Sveltos Controller, installed in the Management Cluster, automatically deploys the CSI Node Driver to the Tenant Cluster.
Note: This chart is specifically designed for Kamaji-managed Tenant Clusters and is not compatible with regular Kubernetes clusters.
- Kamaji installed on the Management Cluster
- Sveltos installed in Agentless Mode on the Management Cluster
- A Secret in the Management Cluster that contains vSphere CSI configuration and credentials
This chart requires a Secret in your Kubernetes cluster that contains the CSI configuration and credentials to connect to the vCenter.
Create the Secret in the Management Cluster, in the same namespace of the related Tenant Cluster. Replace the placeholders with your vSphere configuration.
# The csi-vsphere.conf key name is required, otherwise the installation will fail
cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: Secret
type: Opaque
metadata:
name: vsphere-csi-config-secret
stringData:
csi-vsphere.conf: |
[Global]
cluster-id = "cluster-namespace/cluster-name"
user = "[email protected]"
password = "password"
port = 443
[VirtualCenter "vcenter.local"]
datacenters = "datacenter-name"
insecure-flag = false
EOF
Install the chart using Helm. You can customize the installation by providing a my-values.yaml
file with your specific configuration.
# Add repository (if published)
helm repo add clastix https://clastix.github.io/charts
helm repo update
# Install with custom values in the same namespace as the Tenant Cluster
helm install vsphere-csi clastix/vsphere-csi -f my-values.yaml
See the values you can override here.
When deploying to a vSphere environment using zoning, the topology plugin can be enabled for the CSI to make intelligent volume provisioning decisions.
To enable the topology plugin, adjust the values for the chart as follows:
controller:
topology:
enabled: true
Name | Url | |
---|---|---|
Clastix Labs | [email protected] |
This project is licensed under the Apache2 License. See the LICENSE file for more details.