Please enable JavaScript.
Coggle requires JavaScript to display documents.
(Cloud Controller Manager) - Coggle Diagram
Cloud Controller Manager
Diversions
What problems is solves?
What problem does the Cloud Controller Manager solve?Kubernetes is designed to be cloud-agnostic.
But clouds (AWS, GCP, Azure) all have:
- load balancers
- virtual machines
- disks
- ips
That’s the job of the Cloud Controller Manager (CCM).
- talks to the cloud provider APIs
- translates Kubernetes requests into cloud actions
Flow
You edit YAML -> Git (single source of truth) -> GitOps Controller -> K8 API Server -> etcd (stores desired + current state) -> Controllers detect changes -> CCM -> Cloud Provider API (AWS / GCP / Azure)
kinde: Service
type: LoadBalancer
k8 sees LoadBalancer -> CCM is triggered -> CCM calls the cloud provider API -> Cloud creates a real LB -> CCM reports back to k87
Docker Commands List
Diversions
-
-
-
-
-
-
-
docker start, stop, restart, rm my-nginx
-
-
-
-
-
-
Static Pods
Diversions
-
What is static Pod?
A static Pod is a Pod that is managed directly by the kubelet, not by the Kubernetes API server.
the kublet:
- reads Pod YAML files from disk
- starts the Pods itself
- keeps them running
No API Server required
How static Pods works?
- Pod YAML is placed on a node (for example /etc/kubernetes/manifests)
- kubelet watches that directory
- kubelet starts the Pod
- If it crashes, kubelet restarts it
Why this is useful?
In Kubernetes, control plane components are often static Pods:
- kube-apiserver
- kube-scheduler
- kube-controller-manager
- etcd
This allows:
- the cluster to start itself
- recover even if the API Server is unavailable
ServiceAccount
-
RBAC
Diversions
What is RBAC?
RBAC (Role-Based Access Control) defines who can do what in the cluster.
RBAC controls access to the Kubernetes API.
-
-
Node Placment
Diversions
In Kubernetes, node placement answers one question:
On which node should this Pod run?
nodeName (hard placement, bypasses scheduler) -You want a Pod on one exact node, no discussion.
NodeSelector (simple rules)
You want Pods on certain types of nodes, not a specific one.
How it works?
Nodes have labels
Pod says which labels it requires
Node Affinity (advanced rules)
You need more expressive placement rules.
Like NodeSelector, but with logic:
- required (must)
- preferred (nice to have)
Taints and Tolerations (repulsion model)
You want to keep Pods away from certain nodes by default.
How it works?
Nodes get taints (“do not schedule here”)
Pods need tolerations to be allowed in
-
Containers types
Diversions
TWO container types
- 3 more items...
Autoscaling
Diversions
- 5 more items...
Serverless on k8
- 2 more items...