Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.
Latest commit message
Commit time

Kubernetes vSphere Cloud Provider

GitHub release (latest SemVer including pre-releases contributions welcome


vSphere Cloud Controller Manager

This repository contains the Kubernetes cloud-controller-manager for vSphere.

This project replaces the deprecated in-tree vSphere cloud provider located within the Kubernetes repository. If you want to create issues or pull requests for the in-tree cloud provider, please go to the Kubernetes repository.

There is ongoing work for refactoring cloud providers out of the upstream repository. For more details, please check this KEP.

Compatibility with Kubernetes

The vSphere cloud provider is released with a specific semantic version MAJOR.MINOR.PATCH that correlates with the Kubernetes upstream version. Compatibility with a new Kubernetes version requires upgrading existing cloud provider components since compatibility is ONLY guaranteed between a specific release and its corresponding Kubernetes version.

In the future, the major and minor versions of releases should be equivalent to the compatible upstream Kubernetes release, and the patch version is used for bug fixes pertaining to specific Kubernetes releases. See the external cloud provider versioning KEP for more details.

Version matrix:

Kubernetes Version vSphere Cloud Provider Release Version Cloud Provider Branch
v1.28.X v1.28.X release-1.28
v1.27.X v1.27.X release-1.27
v1.26.X v1.26.X release-1.26
v1.25.X v1.25.X release-1.25
v1.24.X v1.24.X release-1.24
v1.23.X v1.23.X release-1.23
v1.22.X v1.22.X release-1.22
v1.21.X v1.21.X release-1.21
v1.20.X v1.20.X release-1.20
v1.19.X v1.19.X release-1.19
v1.18.X v1.18.X release-1.18

Our current support policy is that when a new Kubernetes release comes out, we will bump our k8s dependencies to the new version and cut a new release for CPI, e.g. CPI v1.22.x was released after k8s v1.22 comes out.

The latest CPI version is GitHub release (latest SemVer including pre-releases. The recommended way to upgrade CPI can be found on this page.


Get started with Cloud controller manager for vSphere with Kubeadm with this quickstart.

Quickstart using Helm

Get started with Cloud controller manager for vSphere using Helm with this Helm quickstart.


Documentation on how to install and use the Kubernetes vSphere Cloud Provider is located on the docs site.

Building the cloud provider

This section outlines how to build the cloud provider with and without Docker.

Building locally

Build locally with the following command:

$ git clone && \
  make -C cloud-provider-vsphere

The project uses Go modules and:

  • Requires Go 1.11+
  • Should not be cloned into the $GOPATH

Building with Docker

It is also possible to build the cloud provider with Docker in order to ensure a clean build environment:

$ git clone && \
  make -C cloud-provider-vsphere build-with-docker

Container images

Official releases of the vSphere Cloud Controller Manager container image can be found at:

The very latest builds from the tip of master, which may not be stable, can be found at:


Please see for instructions on how to contribute.

vSphere storage support

Out of tree cloud providers no longer provide native storage support. Instead, a Container Storage Interface (CSI) driver is required. The vSphere CSI driver is located here.