Note_Tech

All technological notes.


Project maintained by simonangel-fong Hosted on GitHub Pages — Theme by mattgraham

Kubernetes Cluster - Controller Manager

Back


Controller Manager


kubectl get pods -n kube-system
# kube-controller-manager-docker-desktop   1/1     Running   126 (4h2m ago)   148d

Controllers


Common Controllers

Workload controllers

Controller Description
ReplicaSet Controller Keeps an exact number of identical Pods running.
Deployment Controller Manages stateless apps via ReplicaSets; handles rolling updates/rollbacks.
StatefulSet Controller Stable Pod IDs and storage; ordered rollout/scale for stateful apps.
DaemonSet Controller Ensures one Pod per (matching) node (agents, CNIs, CSI nodes).
Job Controller Runs Pods to completion with retries/backoff.
CronJob Controller Schedules Jobs on a cron timetable.

Node & service discovery

Controller Description
Node controller Controller Tracks node health; taints/evicts from NotReady nodes.
Endpoints / EndpointSlice Controller Maintains Service → Pod endpoint lists for traffic routing.
Service controller (cloud) Creates/updates external load balancers for type: LoadBalancer.

Config & security

Controller Description
ServiceAccount Controller Creates default ServiceAccounts in namespaces.
Token Controller Manages projected service account tokens for Pods.
ResourceQuota Controller Enforces per-namespace quotas (CPU/mem/PVCs, etc.).
LimitRange Controller Sets default/max/min resource requests/limits per namespace.
Namespace Controller Finalizes resources during namespace deletion.
Garbage Collector Controller Cleans up dependents via ownerReferences/finalizers.
TTLAfterFinished Controller Deletes completed Jobs/Pods after a set TTL.
CertificateSigningRequest (CSR) Controller Approves/signs node/user certs per policy (if enabled).

Storage

Controller Description
PersistentVolume (PV) binder Controller Binds PVCs to PVs per StorageClass & access modes.
Attach/Detach Controller Safely attaches/detaches volumes to nodes.
Volume expansion Controller Handles PVC resize (online if driver supports it).

Autoscaling & disruption

Controller Description
HorizontalPodAutoscaler (HPA) Controller Scales replicas based on metrics (CPU/memory/custom).
PodDisruptionBudget (PDB) Controller Limits voluntary disruptions to keep minimum Pods available.