The purpose of a ReplicaSet is to maintain a stable set of identical Pods. One can specify the number of Pods one desires, known as replicas, and the ReplicaSet will ensure that the desired number of pods are always kept available.
Here's a sample ReplicaSet definition file.
apiVersion: apps/v1 kind: ReplicaSet metadata: name: a-replica-set spec: # replicas is used to specify the number of Pods we want to have running replicas: 1 # selector is used to tell ReplicaSet which Pods we want it to maintain selector: matchLabels: key: value # template is used to tell ReplicaSet to create Pods with this template (definition) template: metadata: name: name-of-pod labels: key: value spec: containers: - name: container-name image: image-name
One thing to note that it is recommended to use Deployments over ReplicaSets when we want to use ReplicaSets. When we use Deployments, we don't have to worry about managing our ReplicaSets. Read this for more info.