
Kubernetes controllers are essential components that continuously regulate the desired state of cluster resources. Here’s a list of the most commonly used Kubernetes controllers:
1. Deployment Controller
- Manages ReplicaSets to ensure the desired number of pods are running.
- Supports rolling updates, rollbacks, and scaling.
2. ReplicaSet Controller
- Ensures a specified number of pod replicas are running at any given time.
- Used primarily by Deployments but can be used independently.
3. DaemonSet Controller
- Ensures a specific pod runs on every node in the cluster.
- Used for logging, monitoring, and networking components (e.g., Fluentd, Prometheus, Calico).
4. StatefulSet Controller
- Manages stateful applications where each pod has a unique identity and persistent storage (e.g., Databases, Zookeeper, Kafka).
- Provides stable network identities and persistent storage.
5. Job Controller
- Ensures batch jobs execute successfully and terminate upon completion.
- Used for one-time tasks like data processing or backups.
6. CronJob Controller
- Schedules jobs to run at specific times (like cron in Linux).
- Used for periodic tasks, e.g., database backups, reporting, etc.
7. HPA (Horizontal Pod Autoscaler) Controller
- Automatically scales the number of pods based on CPU, memory, or custom metrics.
- Useful for dynamically adjusting workloads.
8. VPA (Vertical Pod Autoscaler) Controller
- Dynamically adjusts CPU and memory limits for pods.
- Helps optimize resource utilization without restarting pods manually.
9. Ingress Controller
- Manages external access to services using Ingress resources.
- Implements load balancing, SSL termination, and routing (e.g., NGINX Ingress, Traefik, HAProxy).
10. Network Policy Controller
- Enforces networking rules and controls how pods communicate.
- Works with Calico, Cilium, or Weave for advanced networking.
11. Certificate Controller
- Automates SSL/TLS certificate management.
- Works with Cert-Manager for Let’s Encrypt integration.
12. Custom Controllers (Operator Pattern)
- Extends Kubernetes functionality using Custom Resource Definitions (CRDs).
- Examples: Prometheus Operator, ArgoCD Operator, Istio Operator.
I’m a DevOps/SRE/DevSecOps/Cloud Expert passionate about sharing knowledge and experiences. I am working at Cotocus. I blog tech insights at DevOps School, travel stories at Holiday Landmark, stock market tips at Stocks Mantra, health and fitness guidance at My Medic Plus, product reviews at I reviewed , and SEO strategies at Wizbrand.
Please find my social handles as below;
Rajesh Kumar Personal Website
Rajesh Kumar at YOUTUBE
Rajesh Kumar at INSTAGRAM
Rajesh Kumar at X
Rajesh Kumar at FACEBOOK
Rajesh Kumar at LINKEDIN
Rajesh Kumar at PINTEREST
Rajesh Kumar at QUORA
Rajesh Kumar at WIZBRAND