ReplicaSet Exercise-01

If you are new to the ReplicaSet YAML file click here
i) Create a replica set YAML with 3 pods.
apiVersion: apps/v1
kind: ReplicaSet
metadata:
name: frontend
labels:
app: guestbook
tier: frontend
spec:
# modify replicas according to your case
replicas: 3
selector:
matchLabels:
tier: frontend
template:
metadata:
labels:
tier: frontend
spec:
containers:
- name: php-redis
image: gcr.io/google_samples/gb-frontend:v3
ii) Deploy Replicaset YAML file
$ kubectl apply -f <FILENAME.YAML> or
$ kubectl create -f <FILENAME.YAML>

iii) Display the replica set
$ kubectl get rs
$ kubectl get rs <RS-NAME>

iv) Print wide output of the replica set
$ kubectl get rs -o wide

v) Print replica set in particular NameSpace (replica set are deployed in default namespace)
$ kubectl get rs <RS-NAME> -n default

vi) Print the replica set to output in YAML/JSON format
$ kubectl get rs <POD-NAME> -o yaml
$ kubectl get rs <POD-NAME> -o json

vii) Print the replica set labels
$ kubectl get rs --show-labels

viii) Print Pods with a specific label
$ kubectl get rs -l app=guestbook

ix) Print the details description of pods
$ kubectl describe rs <RS-NAME>

x) Scaling the number of pods of the replica set, current we have three pods and we will increase it to 5.
$ kubectl scale rs <RS-NAME> --replicas=[COUNT]

xi) Edit ReplicaSet and change the docker image to nginx.
$ kubectl edit rs <RS-NAME>
Run the kubectl edit rs frontend command and search for image section and change image as nginx.

Test the changes by checking the images
$ kubectl get rs frontend -o wide

xii) Running operations directly on the YAML file
$ kubectl get –f [FILE-NAME.yaml]
$ kubectl describe –f [FILE-NAME.yaml]
$ kubectl edit –f [FILE-NAME.yaml]
$ kubectl delete –f [FILE-NAME.yaml]
$ kubectl apply –f [FILE-NAME.yaml]

$ kubectl describe –f [FILE-NAME.yaml]

$ kubectl edit –f [FILE-NAME.yaml]

$ kubectl delete -f replicaset.yaml

$ kubectl apply -f replicaset.yaml

xiii) Delete the replicaset
$ kubectl delete rs <RS-NAME>
