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, andmetadatafields are mandatory with all Kubernetes objects. ReplicaSet is no exception because it’s also a Kubernetes object.
-
Line 1: We specify that the
apiVersionisapps/v1. -
Lines 2–3: The
kindisReplicaSetandmetadatahas thenamekey set togo-demo-2. We could have extended ReplicaSetmetadatawith 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
specsection isreplicas. It sets the desired number of replicas of the Pod. In this case, the ...