cloud-provider-vsphere

module
v1.30.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 20, 2024 License: Apache-2.0

README

Kubernetes vSphere Cloud Provider

GitHub release (latest SemVer including pre-releases contributions welcome

image

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.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 GitHub release (latest SemVer including pre-releases. The recommended way to upgrade CPI can be found on this page.

Quickstart

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

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 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
Building with Docker

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

Container images

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

https://gcr.io/cloud-provider-vsphere/cpi/release/manager

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

https://gcr.io/cloud-provider-vsphere/cpi/ci/manager

Contributing

Please see CONTRIBUTING.md 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.

Directories

Path Synopsis
cmd
pkg
cli
cloudprovider/vsphere/route
Package route is a generated GoMock package.
Package route is a generated GoMock package.
cloudprovider/vsphereparavirtual/apis/nsxnetworking/v1alpha1
Package v1alpha1 contains API Schema definitions for the nsxnetworking v1alpha1 API group +k8s:deepcopy-gen=package,register +groupName=nsx.vmware.com
Package v1alpha1 contains API Schema definitions for the nsxnetworking v1alpha1 API group +k8s:deepcopy-gen=package,register +groupName=nsx.vmware.com
cloudprovider/vsphereparavirtual/client/clientset/versioned
This package has the automatically generated clientset.
This package has the automatically generated clientset.
cloudprovider/vsphereparavirtual/client/clientset/versioned/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
cloudprovider/vsphereparavirtual/client/clientset/versioned/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
cloudprovider/vsphereparavirtual/client/clientset/versioned/typed/nsxnetworking/v1alpha1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
Package fake has the automatically generated clients.
test
e2e Module

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL