π§ Concept 3: ReplicaSet & Desired State (Kubernetes ka Heart π―)



π 1. Core Idea (1-line)
π ReplicaSet ensures that a fixed number of Pods are always running
π§ 2. Desired State vs Current State (MOST IMPORTANT π₯)
This is THE concept of Kubernetes.
π Desired State:
What you declare
βI want 3 podsβ
π Current State:
What actually exists
βOnly 2 pods runningβ
π Kubernetes continuously checks this gap and fixes it.
βοΈ 3. What ReplicaSet Does
ReplicaSet:
-
Maintains N number of pods
-
If pod dies β creates new one
-
If extra pod β deletes it
π₯ 4. Example (Real-world)
You define:
replicas: 3Scenario:
-
1 pod crashes β
π ReplicaSet creates 1 new pod β -
You manually delete a pod β
π ReplicaSet recreates it β
π₯ 5. This is called β Self Healing
π Kubernetes NEVER lets your system drift from desired state
π¦ 6. Basic YAML Example
apiVersion: apps/v1
kind: ReplicaSet
metadata:
name: my-rs
spec:
replicas: 3
selector:
matchLabels:
app: myapp
template:
metadata:
labels:
app: myapp
spec:
containers:
- name: app
image: nginxβ οΈ 7. IMPORTANT: Selector Concept
π ReplicaSet tracks pods using labels
labels:
app: myappπ If labels mismatch:
β ReplicaSet wonβt manage those pods
π₯ 8. Real DevOps Insight
ReplicaSet doesnβt care HOW pods died:
-
Crash π₯
-
Node failure β‘
-
Manual delete π§¨
π It just ensures count = desired
π§ 9. Big Truth (Interview Gold)
π ReplicaSet is rarely used directly
Instead:
β‘οΈ Used internally by Deployment
πΌ 10. Interview Answer (Clean)
π βReplicaSet ensures that a specified number of pod replicas are running at all times by continuously reconciling desired and actual state.β
β‘ 11. Commands (CKA π₯)
kubectl get rs
kubectl describe rs <name>
kubectl scale rs <name> --replicas=5π§ 12. Memory Trick
π ReplicaSet = Pod Bodyguard πββοΈ
It never lets pods die permanently
π₯ 13. Common Mistake
β βReplicaSet does deployment updatesβ
π WRONG
ReplicaSet:
- Only maintains count
Deployment:
- Handles updates (next concept π)