sajad torkamani

What is cloud-controller-manager?

cloud-controller-manager is a control plane component that embeds cloud-specific control logic (the cloud being something like AWS, Google Cloud, Azure, etc). The cloud controller manager lets you link your cluster into your cloud provider’s API, separating the components that interact with the cloud platform from components that only interact with your cluster.

The cloud-controller-manager only runs controller that are specific to your cloud provider. If you’re running Kubernetes on your own premises (not on the cloud) or in something like minikube, your cluster won’t have a cloud-controller-manager.

As with the kube-controller-manager, the cloud-controller-manager combines several logically independent control loops into a single binary that you run as a single process. You can scale horizontally (run more than one copy) to improve performance or to help tolerate failures.

The following controllers can have cloud provider dependencies:

  • Node controller: For checking the cloud provider to determine if a node has been deleted in the cloud after it stops responding
  • Route controller: For setting up routes in the underlying cloud infrastructure
  • Service controller: For creating, updating and deleting cloud provider load balancers
Tagged: Kubernetes