Skip to content

charmed-kubernetes/vsphere-cloud-provider

Repository files navigation

vsphere-cloud-provider

Description

This subordinate charm manages the cloud-provider and vsphere-csi-driver components in vSphere.

Requirements

Usage

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.

Deployment

Quickstart

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

The full process

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"

Details

  • Requires a charmed-kubernetes deployment on a vsphere cloud launched by juju with the allow-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

Contributing

Please see the Juju SDK docs for guidelines on enhancements to this charm following best practice guidelines, and CONTRIBUTING.md for developer guidance.