KEP-670: Support Out-of-Tree vSphere Cloud Provider

Implementation History
STABLE Implemented
Created 2019-01-25
Updated 2020-04-09
Latest 0.0
Ownership

Supporting Out-of-Tree vSphere Cloud Provider

Table of Contents

Release Signoff Checklist

  • k/enhancements issue in release milestone and linked to KEP (https://github.com/kubernetes/enhancements/issues/670 )
  • KEP approvers have set the KEP status to implementable
  • Design details are appropriately documented
  • Test plan is in place, giving consideration to SIG Architecture and SIG Testing input
  • Graduation criteria is in place
  • “Implementation History” section is up-to-date for milestone
  • Supporting documentation e.g., additional design documents, links to mailing list discussions/SIG meetings, relevant PRs/issues, release notes

Summary

Build support for the out-of-tree vSphere cloud provider. This involves a well-tested version of the cloud-controller-manager that has feature parity to the kube-controller-manager. This KEP captures mostly implemented work already completed in the Cloud Provider vSphere repository .

Motivation

Motivation for supporting out-of-tree providers can be found in the Cloud Controller Manager KEP . This KEP is specifically tracking progress for the vSphere cloud provider.

Goals

  • Develop/test/release the vSphere cloud-controller-manager
  • Kubernetes clusters running on vSphere should be running the cloud-controller-manager.

Non-Goals

Proposal

The vSphere Cloud Provider is implemented, tested and partially documented. The next major steps are to migrate existing users of the in-tree provider to the external provider.

Implementation Details/Notes/Constraints [optional]

Main provider work is completed and feature parity with in-tree will be achieved with the beta version. Removing in-tree vsphere_volume code is underway in the same repo and will piggyback on and be tracked through the In-tree Storage Migration to CSI Plugin Migration work. New features will need to follow the community KEP process.

Risks and Mitigations

None known

Design Details

Test Plan

Third-party testing of the vSphere Cloud Provider is handled by VMware and reports to testgrid.

Graduation Criteria

This feature is complete and will be ready for graduation with release 1.14.

Upgrade / Downgrade Strategy

Projects that depend on the in-tree cloud provider can retain support for older versions of the provider that ships with Kubernetes for the time being. New deployment tooling is strongly encouraged to migrate to the external provider for future Kubernetes releases. A special consideration was also made for maintaining backward compatibility with in-tree vSphere cloud provider configuration file, an automation tool to upgrade from in-tree to out-of-tree provider was also created: vcpctl .

Version Skew Strategy

As such Cloud Provider vSphere has no version skew strategy for migrating from in-tree to out-of-tree providers. Future skew will use the facilities available to the Cloud Controller Manager interface.

Implementation History

  • Implementation and testing completed in 2018.
  • Feature parity with in-tree to be achieved with the 1.14 release.