A ReplicaSet's purpose is to maintain a stable set of replica Pods running at any given time. As such, it is often used to guarantee the availability of a specified number of identical Pods.
Replication Controller(Equality based) |
ReplicaSet (Set Based |
It uses the operators ( =, ==, !=) |
Operators ( in, notin,exists) |
Example env=prod,
env!=stag |
Env in(prod) |
Command Line kubectl get pods -l env=prod |
Kubectl get pods ‘env in(prod,qa)’ |
Manifest selector: app: nginx-app |
selector: matchLabels: app: nginx-app matchExpressions: - {key: tier, operator:
In, values: [frontend]} |
LAB
*******************************************************************
# 2. Create and display replicaset
kubectl create -f nginx-rs.yaml
kubectl get po -o wide
kubectl get po -l app=nginx-app
kubectl get rs nginx-rs -o wide
kubectl describe rs nginx-rs
kubectl get po -l 'tier in (frontend)'
*******************************************************************
# 3. Automatic Pod Reschedule
kubectl get po -o wide --watch
kubectl get po -o wide
kubectl get nodes
*******************************************************************
# 4. Scale up pods
kubectl scale rs nginx-rs --replicas=5
kubectl get rs nginx-rs -o wide
kubectl get po -o wide
*******************************************************************
# 5. Scale down pods
kubectl scale rs nginx-rs --replicas=3
kubectl get rs nginx-rs -o wide
kubectl get po -o wide
*******************************************************************
# 6. Cleanup
kubectl delete -f nginx-rs.yaml
kubectl get rs
kubectl get po -l app=nginx-app
COMMENTS