Q1. Define ReplicaSets with atleast 2 example

A ReplicaSet is a process that runs multiple instances of a Pod and keeps the specified number of Pods
constant. Its purpose is to maintain the specified number of Pod instances running in a cluster at given time
and to prevent users from losing access to their application when pPod fails or is inaccessible.

create -f rs.yaml
kubectl get rs replicaset
kubectl get Pods

Q2. What happen when you pause a deployment using rollout?

K8 enables you to pause a deployment. You can then make adjustments to the deployment and resume it.
It need to be paused so that silently you can make changes.

—> Deployment can be scaled while they are running.
—-> Scaling means changing thee number of identical Pod replicas

Q3. What is a Deamonset? Explain with Example

A DaemonSet ensures that all nodes run a copy of a Pod. As nodes are added to the Cluster,Pods are added to them.
As nodes are removed from the cluster, these Pods are garbage collected. Deleting a DaemonSet will clean up the Pods
it created.

–> running a Cluster storage daemon on every node.
–> running a logs collection daemon on every node.
–> running a node monitoring daemon on every node.

Q4. What is an ExternalName service ?

An ExternalName service is a special case of service that does not have selectors. It does not define any ports or endpoints.
Rather, it serves as a way to return an alias to an external service residing outside the cluster.