This subordinate charm manages the cloud-provider and vsphere-csi-driver components in vSphere.
- vSphere infrastructure must support version 15+ VMs (tested on version 17)
The charm requires vSphere credentials and connection information, which
can be provided either directly, via config, or via the vsphere-integration
relation to the vSphere Integrator charm.
The vSphere Cloud Provider subordinate charm can be deployed alongside Charmed Kubernetes using the overlay provided in the Charmed Kubernetes bundle repository:
juju deploy charmed-kubernetes --overlay vsphere-overlay.yaml
juju deploy charmed-kubernetes
juju deploy vsphere-integrator --trust
juju deploy vsphere-cloud-provider
juju relate vsphere-cloud-provider:certificates easyrsa
juju relate vsphere-cloud-provider:kube-control kubernetes-control-plane
juju relate vsphere-cloud-provider:external-cloud-provider kubernetes-control-plane
juju relate vsphere-cloud-provider vsphere-integrator
## wait for the vsphere controller daemonset to be running
kubectl describe nodes |egrep "Taints:|Name:|Provider"
- Requires a
charmed-kubernetes
deployment on a vsphere cloud launched by juju with theallow-privileged
flag enabled. - Deploy the
vsphere-integrator
charm into the model with--trust
to use juju provided vsphere credentials. - Deploy the
vsphere-cloud-provider
charm and relate to the integrator and charmed-kubernetes components. - Once the model is active/idle, the cloud-provider charm will have successfully deployed the vsphere controller in the kube-system namespace
- Taint the existing nodes so the controller will apply the correct provider id to those nodes.
- Confirm the
ProviderID
is set on each node
Please see the Juju SDK docs for guidelines on enhancements to this charm following best practice guidelines, and CONTRIBUTING.md for developer guidance.