Overview of the CPI - Cloud Provider Interface
The goal of the Cloud Provider Interface project is to decouple intelligence of underlying cloud infrastructure features from the core Kubernetes project. The out-of-tree Cloud Provider Interface provides Kubernetes with details about the infrastructure on which it has been deployed. When a Kubernetes node registers itself with the Kubernetes API server, it will request additional information about itself from the cloud provider. As of today, the CPI will provide a node object in the K8s cluster with its IP addresses and zone/region topology. When a node understands the topology and hierarchy of the underlying infrastructure, more intelligent application placement decisions can be made. Further details about how this is achieved will be covered in more detail in the CPI section.
The out-of-tree CPI integration connects to vCenter and maps information about your infrastructure (VMs, disks, etc) back to the Kubernetes API. Only the cloud-controller-manager pod is required to have a valid config file and credentials in order to connect to vCenter. We will discuss how to configure this provider later. For now, assume that the cloud-controller-manager pod has access to the confile file and credentials which allow access to vCenter. Again, this simplified diagram illustrates which components in your cluster should be connecting to vCenter.