Creating ReplicaSets
Learn how to create and retrieve a ReplicaSet.
We'll cover the following...
Definition
Let’s look at a ReplicaSet named go-demo-2.yml
based on the Pod we created in the previous chapter:
apiVersion: apps/v1kind: ReplicaSetmetadata:name: go-demo-2spec:replicas: 2selector:matchLabels:type: backendservice: go-demo-2template:metadata:labels:type: backendservice: go-demo-2db: mongolanguage: gospec:containers:- name: dbimage: mongo:3.3- name: apiimage: vfarcic/go-demo-2env:- name: DBvalue: localhostlivenessProbe:httpGet:path: /demo/helloport: 8080
Note: The
apiVersion
,kind
, andmetadata
fields are mandatory with all Kubernetes objects. ReplicaSet is no exception because it’s also a Kubernetes object.
-
Line 1: We specify that the
apiVersion
isapps/v1
. -
Lines 2–3: The
kind
isReplicaSet
andmetadata
has thename
key set togo-demo-2
. We could have extended ReplicaSetmetadata
with labels. However, we’ve skipped that part since the labels only provide extra information. They do not affect the behavior of the ReplicaSet.
Since we’ve already explored the above three fields, we won’t dwell on them a lot. However, we should note that there is a fourth section called spec
and it is mandatory. Let’s look at it in more detail in the line-by-line explanation below:
-
Line 5–6: The first field we define in the
spec
section isreplicas
. It sets the desired number of replicas of the Pod. In this case, the ...