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.yamljuju 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-kubernetesdeployment on a vsphere cloud launched by juju with theallow-privilegedflag enabled. - Deploy the
vsphere-integratorcharm into the model with--trustto use juju provided vsphere credentials. - Deploy the
vsphere-cloud-providercharm 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
ProviderIDis 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.