Define kubernetes ReplicaSets with Example and commands?
Limited Time Offer!
For Less Than the Cost of a Starbucks Coffee, Access All DevOpsSchool Videos on YouTube Unlimitedly.
Master DevOps, SRE, DevSecOps Skills!
ReplicaSet:
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.
There are many ways we can use replicasets such that always required number of pods running is guarangteed.
- While creating the deployment
kubectl create deployment ramesh --image=scmgalaxy/nginx-devopsschoolv1 --replicas=3 -n=ramesh
2. While the deployment is running
kubectl edit deploy ramesh -n=ramesh Replicas: 2 desired | 2 updated | 2 total | 2 available | 0 unavailable //change this value to desired number of replicas
3. Using scale option
kubectl scale --replicas=1 deploy/ramesh -n=ramesh
Always the required number of pods are running is guaranteed.
[centos@ip-172-31-22-14 ramesh]$ kubectl create deployment ramesh --image=scmgalaxy/nginx-devopsschoolv1 --replicas=3 -n=ramesh deployment.apps/ramesh created [centos@ip-172-31-22-14 ramesh]$ kubectl get deploy -n=ramesh NAME READY UP-TO-DATE AVAILABLE AGE ramesh 3/3 3 3 9s [centos@ip-172-31-22-14 ramesh]$ kubectl get pods -n=ramesh NAME READY STATUS RESTARTS AGE ramesh-88bcb4f5d-9jq4d 1/1 Running 0 18s ramesh-88bcb4f5d-dtn2c 1/1 Running 0 18s ramesh-88bcb4f5d-hppkz 1/1 Running 0 18s [centos@ip-172-31-22-14 ramesh]$ kubcectl delete pod ramesh-88bcb4f5d-hppkz -n=ramesh -bash: kubcectl: command not found [centos@ip-172-31-22-14 ramesh]$ kubectl delete pod ramesh-88bcb4f5d-hppkz -n=ramesh pod "ramesh-88bcb4f5d-hppkz" deleted [centos@ip-172-31-22-14 ramesh]$ kubectl get pods NAME READY STATUS RESTARTS AGE nagesh 1/1 Running 0 93m [centos@ip-172-31-22-14 ramesh]$ kubectl get pods -n=ramesh NAME READY STATUS RESTARTS AGE ramesh-88bcb4f5d-9jq4d 1/1 Running 0 52s ramesh-88bcb4f5d-dtn2c 1/1 Running 0 52s ramesh-88bcb4f5d-qms2q 1/1 Running 0 10s //this is the newly created pod after deleting the existing POD