Back to Charts

⚠️ Repo Archive Notice

stable/vsphere-cpi/README.md

latest8.9 KB
Original Source

⚠️ Repo Archive Notice

As of Nov 13, 2020, charts in this repo will no longer be updated. For more information, see the Helm Charts Deprecation and Archive Notice, and Update.

vSphere Cloud Provider Interface (CPI)

vSphere Cloud Provider Interface handles cloud specific functionality for VMware vSphere infrastructure running on Kubernetes.

DEPRECATION NOTICE

This chart is deprecated and no longer supported.

Introduction

This chart deploys all components required to run the external vSphere CPI as described on it's GitHub page.

Prerequisites

  • Has been tested on Kubernetes 1.13.X+
  • Assumes your Kubernetes cluster has been configured to use the external cloud provider. Please take a look at configuration guidelines located in the Kubernetes documentation.

Installing the Chart using Helm 3.0+

In Helm 3.0+, the stable charts repo isn't enabled by default because there is an effort to move the charts repo into a distributed model. To enable the stable charts, you can run the following command:

bash
$ helm repo add stable https://kubernetes-charts.storage.googleapis.com/
$ helm repo update

Then to install this chart and by providing vCenter information/credentials, run the following command:

bash
$ helm install vsphere-cpi stable/vsphere-cpi --namespace kube-system --set config.enabled=true --set config.vcenter=<vCenter IP> --set config.username=<vCenter Username> --set config.password=<vCenter Password> --set config.datacenter=<vCenter Datacenter>

Tip: List all releases using helm list --all

If you want to provide your own vsphere.conf and Kubernetes secret vsphere-cpi (for example, to handle multple datacenters/vCenters or for using zones), you can learn more about the vsphere.conf and vsphere-cpi secret by reading the following documentation and then running the following command:

bash
$ helm install vsphere-cpi stable/vsphere-cpi --namespace kube-system

Installing the Chart using Helm 2.X

To install this chart with the release name vsphere-cpi and by providing a vCenter information/credentials, run the following command:

bash
$ helm install stable/vsphere-cpi --name vsphere-cpi --namespace kube-system --set config.enabled=true --set config.vcenter=<vCenter IP> --set config.username=<vCenter Username> --set config.password=<vCenter Password> --set config.datacenter=<vCenter Datacenter>

If you provide your own vsphere.conf and Kubernetes secret vsphere-cpi, then deploy the chart running the following command:

bash
$ helm install stable/vsphere-cpi --name vsphere-cpi --namespace kube-system

Uninstalling the Chart

To uninstall/delete the vsphere-cpi deployment:

bash
$ helm delete vsphere-cpi --namespace kube-system

The command removes all the Kubernetes components associated with the chart and deletes the release.

Tip: To permanently remove the release using Helm v2.X, run helm delete --purge vsphere-cpi --namespace kube-system

Configuration

The following table lists the configurable parameters of the vSphere CPI chart and their default values.

ParameterDescriptionDefault
podSecurityPolicy.enabledEnable pod sec policy (k8s > 1.17)true
podSecurityPolicy.annotationsAnnotations for pd sec policynil
securityContext.enabledEnable sec context for containerfalse
securityContext.runAsUserRunAsUser. Default is nobody in1001
distroless image
securityContext.fsGroupFsGroup. Default is nobody in1001
distroless image
config.enabledCreate a simple single VC configfalse
config.vcenterFQDN or IP of vCentervcenter.local
config.usernamevCenter usernameuser
config.passwordvCenter passwordpass
config.datacenterDatacenters within the vCenterdc
rbac.createCreate roles and role bindingstrue
serviceAccount.createCreate the service accounttrue
serviceAccount.nameName of the created service accountcloud-controller-manager
daemonset.annotationsAnnotations for CPI podnil
daemonset.imageImage for vSphere CPIgcr.io/cloud-provider-vsphere/
vsphere-cloud-controller-manager
daemonset.tagTag for vSphere CPIlatest
daemonset.pullPolicyCPI image pullPolicyIfNotPresent
daemonset.dnsPolicyCPI dnsPolicyClusterFirst
daemonset.cmdline.loggingLogging level2
daemonset.cmdline.cloudConfig.dirvSphere conf directory/etc/cloud
daemonset.cmdline.cloudConfig.filevSphere conf filenamevsphere.conf
daemonset.replicaCountNode resources[]
daemonset.resourcesNode resources[]
daemonset.podAnnotationsAnnotations for CPI podnil
daemonset.podLabelsLabels for CPI podnil
daemonset.nodeSelectorUser-defined node selectorsnil
daemonset.tolerationsUser-defined tolerationsnil
service.enabledEnabled the CPI API endpointfalse
service.annotationsAnnotations for API servicenil
service.typeService typeClusterIP
service.loadBalancerSourceRangeslist of IP CIDRs allowed access[]
service.endpointPortExternal accessible port43001
service.targetPortInternal API port43001
ingress.enabledAllow external traffic accessfalse
ingress.annotationsAnnotations for Ingressnil

Specify each parameter using the --set key=value[,key=value] argument to helm install using Helm v3.X. For example,

bash
$ helm install vsphere-cpi \
    stable/vsphere-cpi \
    --set daemonset.pullPolicy=Always

Alternatively, a YAML file that specifies the values for the parameters can be provided while installing the chart.

Image tags

vSphere CPI offers a multitude of tags for the various components used in this chart.