Overview

The Platform External path allows providers to self-serve the integration of Kubernetes components in OpenShift/OKD without the need to modify any core payload and without the need for direct involvement of Red Hat engineering.

What are external cloud providers in Kubernetes?

Historically, all cloud providers in Kubernetes were found in the main Kubernetes repository. However, Kubernetes aims to be ubiquitous and this means supporting a great many infrastructure providers. Doing this all from a single monolithic repository (and a single monolithic kube-controller-manager binary) was deemed something that wouldn’t scale, and so in 2017, the Kubernetes community began working on support for out-of-tree cloud providers. These out-of-tree providers were initially aimed at allowing the community to develop cloud providers for new, previously unsupported infrastructure providers, but as the functionality matured, the community decided to migrate all of the current in-tree cloud providers to external cloud providers too. You can read more about this in the Kubernetes blog and the Kubernetes documentation.

To signal the use of a cloud provider's Cloud Controller Manager, OpenShift provides a mechanism to set the --cloud-provider flag to external on Kubernetes components (Kubelet and Kube Controller Manager) when using the platform type External. This mechanism must be activated in the installer option platform.external.cloudControllerManager with value of External on install-config.yaml.

To learn more about the feature, we encourage you to read the OpenShift Enhancement Proposal "Introduce new platform type External in the OpenShift specific Infrastructure resource".

To begin learning about the process, we are providing the following pages to achieve your goal: