Home Explore Blog Models CI



kubernetes

2nd chunk of `content/en/docs/tasks/administer-cluster/running-cloud-controller.md`
60df6357a8b40cc8457711cab43e65fabeb338ef4e60cb4b000000010000089e
 `node.cloudprovider.kubernetes.io/uninitialized` with an effect `NoSchedule`
 during initialization. This marks the node as needing a second initialization
 from an external controller before it can be scheduled work. Note that in the
 event that cloud controller manager is not available, new nodes in the cluster
 will be left unschedulable. The taint is important since the scheduler may
 require cloud specific information about nodes such as their region or type
 (high cpu, gpu, high memory, spot instance, etc).
* cloud information about nodes in the cluster will no longer be retrieved using
  local metadata, but instead all API calls to retrieve node information will go
  through cloud controller manager. This may mean you can restrict access to your
  cloud API on the kubelets for better security. For larger clusters you may want
  to consider if cloud controller manager will hit rate limits since it is now
  responsible for almost all API calls to your cloud from within the cluster.

The cloud controller manager can implement:

* Node controller - responsible for updating kubernetes nodes using cloud APIs
  and deleting kubernetes nodes that were deleted on your cloud.
* Service controller - responsible for loadbalancers on your cloud against
  services of type LoadBalancer.
* Route controller - responsible for setting up network routes on your cloud
* any other features you would like to implement if you are running an out-of-tree provider.

## Examples

If you are using a cloud that is currently supported in Kubernetes core and would
like to adopt cloud controller manager, see the
[cloud controller manager in kubernetes core](https://github.com/kubernetes/kubernetes/tree/master/cmd/cloud-controller-manager).

For cloud controller managers not in Kubernetes core, you can find the respective
projects in repositories maintained by cloud vendors or by SIGs.

For providers already in Kubernetes core, you can run the in-tree cloud controller
manager as a DaemonSet in your cluster, use the following as a guideline:

{{% code_sample file="admin/cloud/ccm-example.yaml" %}}

## Limitations

Running cloud controller manager comes with a few possible limitations. Although

Title: Cloud Controller Manager Functionality, Examples, and Limitations
Summary
This section elaborates on the functionalities implemented by the Cloud Controller Manager (CCM), including the Node controller, Service controller, and Route controller. It explains how the CCM retrieves cloud information about nodes, potentially improving security by restricting Kubelet access to the cloud API. It also provides examples of CCM usage for clouds supported in Kubernetes core and mentions out-of-tree providers. Finally, it touches on the limitations associated with running CCM.