Define kubernetes ReplicaSets with Example and commands?

DevOps

MOTOSHARE 🚗🏍️
Turning Idle Vehicles into Shared Rides & Earnings

From Idle to Income. From Parked to Purpose.
Earn by Sharing, Ride by Renting.
Where Owners Earn, Riders Move.
Owners Earn. Riders Move. Motoshare Connects.

With Motoshare, every parked vehicle finds a purpose. Owners earn. Renters ride.
🚀 Everyone wins.

Start Your Journey with Motoshare

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.

  1. 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