The table below maps out the various Kubernetes controllers, their responsibilities, and the actual executable binaries that implement them within a Kubernetes cluster.
Controller Architecture Overview
| Controller Category | Specific Internal Controllers | Executable / Binary Name | Run Location / Process Name |
|---|---|---|---|
| Core Built-in Workloads | Deployment, StatefulSet, ReplicaSet, DaemonSet, Job, CronJob |
kube-controller-manager
|
Runs as a static Pod or systemd service on the Control Plane node. |
| Core Built-in Infrastructure | Node Lifecycle, Namespace, ServiceAccount, Endpoints, EndpointSlice |
kube-controller-manager
|
Runs as a static Pod or systemd service on the Control Plane node. |
| Core Built-in Storage | PersistentVolume, AttachDetach, PV Protection, PVC Protection |
kube-controller-manager
|
Runs as a static Pod or systemd service on the Control Plane node. |
| Cloud-Specific Infrastructure | Route, Node, Service (LoadBalancer Provisioning) |
cloud-controller-manager
|
Separate binary provided by cloud vendors (AWS, GCP, Azure). |
| Network Routing (Ingress) | Ingress Controller (e.g., NGINX, Traefik) |
nginx-ingress-controlleror traefik
|
Runs as a standard Deployment inside worker nodes. |
| Custom Automation (Operators) | Application-specific logic (e.g., Prometheus, PostgreSQL, Kafka) |
Custom binary (e.g., prometheus-operator)
|
Compiled by developers, packaged as container images, and runs as standard Kubernetes Pods. |
Key Observation
Important: Most Kubernetes controllers are not separate binaries. A single
kube-controller-manager process internally hosts dozens of controllers and runs
reconciliation loops for resources such as Deployments, ReplicaSets, StatefulSets, Jobs,
Nodes, Namespaces, ServiceAccounts, PersistentVolumes, and many others.
Exception: Cloud integrations, Ingress Controllers, and Operators are usually
implemented as independent controller processes running separately from the
kube-controller-manager.
No comments:
Post a Comment