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.
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.31.X | v1.31.X | release-1.31 |
v1.30.X | v1.30.X | release-1.30 |
v1.29.X | v1.29.X | release-1.29 |
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 . 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.
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.
This section outlines how to build the cloud provider with and without Docker.
Build locally with the following command:
$ git clone https://github.com/kubernetes/cloud-provider-vsphere && \
make -C cloud-provider-vsphere
The project uses Go modules and:
- Requires Go 1.11+
- Should not be cloned into the
$GOPATH
It is also possible to build the cloud provider with Docker in order to ensure a clean build environment:
$ git clone https://github.com/kubernetes/cloud-provider-vsphere && \
make -C cloud-provider-vsphere build-with-docker
As part of the overall Kubernetes project image registry migration, starting with the v1.30.1 release, the cloud-provider-vsphere images will be hosted exclusively on the community-owned registry.k8s.io
registry. These images will no longer be available on the previous gcr.io/cloud-provider-vsphere/release
registry.
Additionally, images for the following versions of cloud-provider-vsphere have already been migrated to registry.k8s.io:
registry.k8s.io/cloud-pv-vsphere/cloud-provider-vsphere:v1.28.0
registry.k8s.io/cloud-pv-vsphere/cloud-provider-vsphere:v1.29.0
registry.k8s.io/cloud-pv-vsphere/cloud-provider-vsphere:v1.30.0
registry.k8s.io/cloud-pv-vsphere/cloud-provider-vsphere:v1.30.1
...
Official releases of the vSphere Cloud Controller Manager container image can be found at:
registry.k8s.io/cloud-pv-vsphere/cloud-provider-vsphere:v1.31.0 # <== latest version
The very latest builds from the tip of master, which may not be stable, can be found at:
https://gcr.io/k8s-staging-cloud-pv-vsphere/cloud-provider-vsphere
Please see CONTRIBUTING.md for instructions on how to contribute.
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.