stable/vsphere-cpi

Chart version: 0.2.3
Api version: v1
App version: 1.2.1
DEPRECATED - A Helm chart for vSphere Cloud Provider Interface ...
application
Chart Type
DEPRECATED
Status
Unknown
License
1299
Downloads
https://charts.helm.sh/stable
Set me up:
helm repo add center https://repo.chartcenter.io
Install Chart:
helm install vsphere-cpi center/stable/vsphere-cpi
Versions (0)

⚠️ 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:

$ 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:

$ 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:

$ 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:

$ 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:

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

Uninstalling the Chart

To uninstall/delete the vsphere-cpi deployment:

$ 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.

Parameter Description Default
podSecurityPolicy.enabled Enable pod sec policy (k8s > 1.17) true
podSecurityPolicy.annotations Annotations for pd sec policy nil
securityContext.enabled Enable sec context for container false
securityContext.runAsUser RunAsUser. Default is nobody in 1001
distroless image
securityContext.fsGroup FsGroup. Default is nobody in 1001
distroless image
config.enabled Create a simple single VC config false
config.vcenter FQDN or IP of vCenter vcenter.local
config.username vCenter username user
config.password vCenter password pass
config.datacenter Datacenters within the vCenter dc
rbac.create Create roles and role bindings true
serviceAccount.create Create the service account true
serviceAccount.name Name of the created service account cloud-controller-manager
daemonset.annotations Annotations for CPI pod nil
daemonset.image Image for vSphere CPI gcr.io/cloud-provider-vsphere/
vsphere-cloud-controller-manager
daemonset.tag Tag for vSphere CPI latest
daemonset.pullPolicy CPI image pullPolicy IfNotPresent
daemonset.dnsPolicy CPI dnsPolicy ClusterFirst
daemonset.cmdline.logging Logging level 2
daemonset.cmdline.cloudConfig.dir vSphere conf directory /etc/cloud
daemonset.cmdline.cloudConfig.file vSphere conf filename vsphere.conf
daemonset.replicaCount Node resources []
daemonset.resources Node resources []
daemonset.podAnnotations Annotations for CPI pod nil
daemonset.podLabels Labels for CPI pod nil
daemonset.nodeSelector User-defined node selectors nil
daemonset.tolerations User-defined tolerations nil
service.enabled Enabled the CPI API endpoint false
service.annotations Annotations for API service nil
service.type Service type ClusterIP
service.loadBalancerSourceRanges list of IP CIDRs allowed access []
service.endpointPort External accessible port 43001
service.targetPort Internal API port 43001
ingress.enabled Allow external traffic access false
ingress.annotations Annotations for Ingress nil

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

$ 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.