+1 to what blixt said. kubectl apply -f [manifest file]. with the -A option it gives you all your hpa from all namespaces if you want to specify a namespace, you can use -n option. kubectl get service nginx ip=$(kubectl get svc nginx --template={{. batch/busy-job-completion created $ kubectl get po NAME READY STATUS RESTARTS AGE busy-job-2wg9f 0/1 Completed 0 19m busy-job-completion-bfh49 0/1. kubectl get events -w. replicaset should spin up new pods with new image. Field selectors let you select Kubernetes objects based on the value of one or more resource fields. A ReplicaSet is used to ensure that a specific number of replicas (copies) of a pod are running at any given time, while a Deployment manages updates to a ReplicaSet by creating a new ReplicaSet with the updated pod template and gradually scaling it up while scaling down the old ReplicaSet. We manufacture concrete panels to build themed environments, custom. kubectl get deployments -w. The controller creates two new pod definitions because we have configured replica value as. It creates a replica of 4 busybox pods. kubectl get replicaset. $ kubectl get pod NAME READY STATUS RESTARTS AGE myapp-replicas-67rkp 1/1 Running 0 33s myapp-replicas-6kfd8 1/1 Running 0 33s myapp-replicas-s96sg. Each get command can focus in on a given namespace with the –namespace. Syntax: $ kubectl [command] [TYPE] [NAME] [flags] Command: This will include the operation mentioned below you want to perform regarding the specific resource. We often don’t need to create a ReplicaSet directly. When you. What to use ReplicaSets for. yaml. Edit the controllers configuration by using kubectl edit rs ReplicaSet_name and change the replicas count up or down as you desire. Now I set replicas to 2 in deployment. focus on deleting deployment and service. Define a command to run using --command. NAME. All fine till here. Then they are in your desired number of replicas. 12. If we want to check the status of the replica set, then run the below command. $ kubectl edit replicaset new-replica-set 3. When the traffic and load subsides, we can revert to the original configuration of two Pods. kubectl create -f replicaset. I would like to get all ReplicaSets that have any problems using kubectl only without external monitoring systems. yaml and execute the kubectl apply command to deploy the replication controller. yml kubectl get replicaset kubectl get pods. Manually by using the command. txt Install and Set Up kubectl on Windows; Installieren und konfigurieren von kubectl; Kubectl installieren und konfigurieren auf Linux; Kubectl installieren und konfigurieren auf macOS; Installation von Minikube; Einen Cluster verwalten. Deployment with name backend is created indicated by metadata. Deploying. kubectl scale deployment openet-k6 --replicas=0 How will i ensure all pods are scaled down ? I am actually using this command in a shell script , so i can write additional logic to check that . Viewed 9k timesSave the file as rc-definition. By adjusting the value in the manifest and re-applying it, you can alter the number of copies (kubectl apply -f my-manifest. 1. yaml pod2. The API version apps/v1beta2 is deprecated. moury~ % kubectl scale statefulset web --replicas=3 statefulset. kubectl create --help |awk '/Available Commands:/,/^$/' Available Commands: clusterrole Create a cluster role clusterrolebinding Create a cluster role binding for a particular cluster role configmap Create a config map. Reading the documents it is not clear if the default behaviour should. ReplicaSetのreplica数を増減させる. Share. The challenge I am having is that, I want to be able to loop through all the deployments and save their name and number of replicas so I scale them back to the original after scaling down. The pod is the thing that is replicated. config. This field's replicas value is set to 3 ,indicating that the desired state is to have three identical pods managed by this resource. Changes to label selectors make existing pods fall out of ReplicaSet's scope, so if you change labels and label selector the pods are no longer "controlled" by ReplicaSet. name=rolling-nginx-74cf96d8bb-6f54x LAST SEEN TYPE REASON OBJECT MESSAGE 5m21s. name,IMAGE:. yaml. To further ensure that pods only get scheduled on that set of tainted nodes, you can also add a label to those nodes, e. When changing the image I found this to be the most straight forward way to update the . To learn more about this issue, see Kubernetes Issue 67250. apps "myapp-replicas" created Next, we make sure it is created. I am not able to find a better description than kubectl describe deploy. Install and Set Up kubectl on macOS; Install and Set Up kubectl on Windows; Administer a Cluster. Comme avec tous les autres objets API Kubernetes, un ReplicaSet a besoin des champs apiVersion, kind et metadata . You should see an output that looks like the following:When we then look at the Replica set we can see that it was actually deployed a new Replica set with pods running the new image. Get a idea from yaml file. To scale up the number of Replica Set members from 3 to 5, run this command: kubectl scale --replicas=5 statefulset mongo. kubectl scale --replicas=3 statefulset/web. kubectl get pods frontend-b2zdv -o yaml. 168. So i need to used version in . kubectl get replicaset. vi <my-replica-set>. kubectl logs -f deployment/myapp -c myapp --tail 100 -c is the container name and --tail will show the latest num lines,but this will choose one pod of the deployment, not all pods. The second way is to run the kubectl scale command: Copy. La version de l'API apps/v1beta2 est obsolète. apps/kuard created $ kubectl get deployment,replicaset,pod --show-labels NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE LABELS deployment. apps -n <namespace> (or --all-namespaces) – Noam Manos. 1. La version de l'API apps/v1beta2 est obsolète. mourya ~ % kubectl get statefulset NAME READY AGE web 3/3 68sKubectl rolling update updates Pods and ReplicationControllers in a similar fashion. As an alternative to using this procedure, you can use the Multi-Kubernetes-Cluster Quick Start. kubectl get deployments --all-namespace. kubectl delete -f nginx-rs. That means it creates one or more set of the same Pods with the same container (s). And the -w argument is for watch so you have a refreshed interface that gives you infos on your hpa ressources. 9, la version de l'API apps/v1 pour le type ReplicaSet est la version actuelle et activée par défaut. Replica Sets Deployments Other Kinds of Resource Conclusion Kubernetes is not known for being approachable. In case if you are working in a specific kubernetes namespace then I would recommend using the -n flag. spec section is similar to the ReplicaSet’s, defining the pod template for each replica. To view these you can do kubectl get deployment, and get rs respectively. Get replicaset. When the Pod’s index is 0, it should be configured as the primary; when it’s a higher number, the Pod is a replica that needs to. 0. I would say that you have issue with DNS configuration (No host described in new configuration 1 for replica set rs0 maps to this node). I assume that you want the default 'rolling upgrade' behavior of Deployments: they create a new replica set and start it before the old one is drained (rolling upgrade). If you are new to the replica set you can read the replica set blog here. StatefulSets. This will cause the deployment controller to create a ReplicaSet, with one replica (which means it will only start one pod). kubectl apply -f [manifest file]. $ kubectl get pods,replicasets --show-labels NAME READY STATUS RESTARTS AGE LABELS pod/kuard-fm8fd 1/1 Running 0 11m app=kuard pod/kuard-j6fcf 1/1 Running 0 11m app=kuard pod/kuard-jmqjv 1/1. Use this procedure to create a new replica set in a member Kubernetes cluster in a multi-Kubernetes-cluster deployment. watch kubectl get all. Other Posts. matchLabels: This specifies the labels used for pod selection. yaml Step 4: Set up Replication Host. replicas}{" "}' 2 $ kubectl get rs pet2cattle-5479f4b6cb NAME DESIRED CURRENT READY AGE pet2cattle-5479f4b6cb 2 2 2 5d5hA service is basically a load balancer over a deployment (and a deployment is a replica set of multiple pods). Also, take a look here13. Use kubectl get to list all Deployments, Replica Sets and Pods in your default namespace:kubectl get secret mongodb -o jsonpath= "{. The ReplicaSet. Discussion. A ReplicaSet. yaml. $ kubectl edit replicaset new-replica-set . The isMaster command will return the list of member hostname:port in the replica set, as entered in the. To ensure that, pods must be managed as stateful sets. /deployment. If there is a very large number of Pods, though. $ kubectl get al. Así, se usa en numerosas ocasiones para garantizar la disponibilidad de un número específico de Pods idénticos. try "kubectl delete $ {insert your deployment here}. After going through the contents, now you’ll be familiar with the concept of ReplicationControllers and ReplicaSets and various commands associated with them in kubernetes. The following kubectl command sets the spec with progressDeadlineSeconds to make the controller report lack of progress of a rollout for a Deployment after 10 minutes: kubectl patch deployment/nginx-deployment -p ' {"spec": {"progressDeadlineSeconds":600}}'. Old Replica Sets is a term used in documentation of kubernetes and like any other term introduced in kubernetes it is something that user has to get. # Before change spec: replicas: 3 # After change spec: replicas: 6. It'll restart the pods one by one in a RollingUpdate way. yml kubectl get pods Code language: CSS (css) As you can see from my screenshot, we now have two pods running as we were expecting. 这是增加部署副本数量的最快、最简. Lowering the replica count will cause Kubernetes to gracefully terminate some pods, freeing up cluster. Normally, the old (previous). Also,instead of replicationcontrollers, you can use replica sets. Use the following command to delete the Kibana object: $ kubectl delete Kibana quickstart-kb. Share. kubectl edit rs replicaset. extensions/frontend scaled master $ kubectl get pods NAME READY STATUS RESTARTS AGE frontend-4jb2x 1/1 Terminating 0 38s frontend-98xkj 0/1. 13. kubectl describe deployment deployment-name and. Administration with kubeadm. 3. statefulset. First, check the existing replica set using the following command. You can follow instructions within Lab 0 and Lab 1 of the Kube 101 Workshop. Certificate. It makes sure that a stable set of replica pods is running at any given time, which guarantees an available specified number of identical pods. The --cascade option set to "orphan" tells the command to only delete the replicaSet without deleting the pods. Most kubectl commands that support Replication Controllers also support ReplicaSets. 99, which will hopefully weed out any unserious sellers and allow us to focus on those who truly want to sell to. Services and deployments are loosely coupled via tags, so there probably isn't a great way to go from services to pods directly. conf} {" "}' |grep mode. To check the version, use the kubectl version command. yaml in which a deployment, whose strategy is RollingUpdate, is defined. 6. Kubectl logs command cheat sheet. A pod doesn't "run" a replica set, and there is no such thing as a "primary set". Next, let’s talk about how to: intercept all the traffic to your apps; monitor traffic; and; set up the autoscaler to adjust the number of replicas or turn off. kubectl get --all-namespaces rs -o json|jq -r '. batch/busy-job-completion created $ kubectl get po NAME READY STATUS RESTARTS AGE busy-job-2wg9f 0/1 Completed 0 19m busy-job-completion-bfh49 0/1. Conditions: Type Status Reason ---- ----- ----- ReplicaFailure True FailedCreate Events: <none>You can use the kubectl expose command to create a NodePort Service for a ReplicaSet. Share. yml). kubectl get pods <pod-name> -o yaml kubectl get pods my-helloworld-rs-c8rrj -o yaml Step-03: Expose ReplicaSet as a Service ; Expose ReplicaSet with a service (Load Balancer Service) to access the application externally (from internet) Difference between Kubernetes Replication Controllers and Replica Sets. Some downtime of the service is expected even if the replicas>1. apps "web" created. Stateful sets perform the same role for stateful pods. Run the command kubectl edit replicaset new-replica-set, modify the replicas and then save the file. Code: kubectl describe rs/frontend. 0. 2. kubectl scale replicaset nginxset --replicas=4. A ReplicaSet's purpose is to maintain a stable set of replica Pods running at any given time. spec. If we execute the commands: kubectl get sts mongodb and kubectl get pods -l app=mongodb , we see the cluster deployed. data. This is something you have to bear in mind. Lets now delete the pod created independent of replica set. You can insert a key into the primary instance of the MongoDB Replica Set by running the following: MASTER_POD_NAME must be replaced with the name of the master found in the previous step. metadata. kubectl get rs new-replica-set -o yaml > rs. Its powerful – since at any point of time you can manage the scale of your app by this single. logs: Prints the stdout and stderr for a container running in a Pod. K8s Workload Resources. A ReplicaSet is defined with fields, including a selector that specifies how to identify Pods it can acquire, a number of replicas indicating how many Pods it should be maintaining, and a pod template specifying the data of new Pods it should create to meet the number of replicas criteria. Enter the pod using kubectl exec: kubectl exec -it mongodb-replica-0 -n default -- mongo. While ReplicaSets make it easier to work with Pods, they. Changes to label selectors make existing pods fall out of ReplicaSet's scope, so if you change labels and label selector the pods are no longer "controlled" by ReplicaSet. This is because Replica Sets are meant to be used as the backend for Deployments. From the name, it seems like Kibana CRD object: apiVersion: kibana. 4 minute read. The name of a DaemonSet object must be a valid DNS subdomain name. 2. You can omit the header by using:163 1 1 14. This will open the ReplicationController’s YAML definition in your default text editor: bash. selectorbut whose template does not match . This should create the node api deployment. Then we’ll deploy the manifest file to get our service and endpoint built. /cluster/kubectl. Make sure that the kubectl client version is skewed no more than one version from the Kubernetes master version running on your Azure Stack Edge Pro device. 1. kubectl get pods. 7) uses an update strategy to configure and disable automated rolling updates for containers, labels, resource request/limits, and annotations for its pods. kubectl get hpa constant-load-test -n hpa-constant-load. Pods in a replica set are controlled by the Replica Set Definition of the replica set, e. kubectl get daemonsets -A kubectl get rs -A | grep -v '0 0 0' Confirm that daemonsets and replica sets show all members in Ready state. name)"'. ReplicaSets guarantee that there will be a specific number of identical Pods running at any given time. kubectl get pods. the old replica sets are not removed they are retained for the versioning. Get Pods. When you want all replica sets where the numbers for 'desired', 'current' and 'ready' are not the same use a better pattern matching language such awk: kubectl get replicasets -n kube-system | awk '$3!=$4 || $4!=$5 {print $0}' which should return both the header and any inconsistent replica sets. kubectl apply -f dp. Note: if you run the. Frequently, when deploying a specific pod-template, the deployment fails to create a successful replicaset and no instance is created. shell. The differences in this manifest are: Using kind: Deployment to state the resource type. kubectl get pods -n <namespace of data controller> Delete the managed instance pod. It creates a selector that matches to matchLabels. mongodb-1 – Read-only replica. yaml # or another way of writing "kubectl scale --replica=10 replicaset <replicaset name as provided in metadata>" kubectl scale --replica=10 replicaset myapp-rs. extensions/nginx scaled sekreta@cloudshell:~ (composite-rune-239911)$ kubectl get deploy NAME READY UP-TO-DATE AVAILABLE AGE nginx 0/0 0 0 6m48s. mourya ~ % kubectl get statefulset NAME READY AGE web 0/0 33s deepak. $ kubectl get pod -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES sample-pod3-rzmhb 2/2 Running 0 38s 192. replicas | contains(0)) | "kubectl delete rs --namespace=(. Dans Kubernetes 1. Get Kubernetes Cookbook, 2nd Edition now with the O. The kubectl scale command is used to change the number of running replicas inside Kubernetes deployment, replica set, replication controller, and stateful set objects. $ kubectl get rsNAME DESIRED CURRENT READY AGEmy-first-replicaset 3 3 3 2m// get in the editor, modify the replica number, then save and leave$ kubectl edit rs my-first-replicaset# Please. If you run kubectl get pods <pod_name> -o yaml where <pod_name> is a pod created by ReplicaSet, you will see owner reference. If you created HPA you can check current status using command. . 2 image is utilized. In this blog post we are going to discuss the ReplicaSet concept in Kubernetes. extensions "my-first-replicaset" deletedreal 0m2. Another way of scaling your controller is using kubectl scale --replicas=1 rc/expressapp-controller. Install and Set Up kubectl on macOS; Install and Set Up kubectl on Windows; Administer a Cluster. name=my-service metadata. template are scaled down. . The output of kubectl get all --selector app=my-dep2 post the edit is: kubectl get pods <pod-name> -o yaml kubectl get pods my-helloworld-rs-c8rrj -o yaml Step-03: Expose ReplicaSet as a Service ; Expose ReplicaSet with a. I created a deployment and defined a hpa rule for it: kubectl autoscale deployment my_deployment --min 6 --max 30 --cpu-percent 80 I want to run a . kubectl get deployments NAME READY UP-TO-DATE AVAILABLE AGE ngnix-deployment 0/3 3 0 12m kubectl. Anything else we need to know?: I realize that in my example, the HPA is unable to read the resource metric and that may be a contributing factor in the calculation of the desired replica count. Note: This is not a production configuration. Kubernetes Replica Sets - Replica Set ensures how many replica of pod should be running. Install and Set Up kubectl on macOS; Install and Set Up kubectl on Windows; Administer a Cluster. For instance, executing kubectl autoscale rs foo --min=2 --max=5 --cpu-percent=80 will create an autoscaler for ReplicaSet foo, with target CPU utilization set to 80% and the number of replicas between 2 and 5. Also if no labels are specified, the new service will re-use the labels from the resource it exposes. As you stated the deployment was created but no pods were, what we need is the output of the replicaset to figure out why it wasn't able to create the pods, can you do a kubectl get replicaset and then find the one corresponding to you deployment and then kubectl describe replicaset <replicaset_name>. Whenever you deploy new version of deployment, the replica set preserves the previous configuration of the deployment. For example, if the variable is set to seattle, kubectl get pods would return pods in the seattle namespace. Discovery Information. elastic. spec. Now get the Pods list using the following command. 1 Answer. Once the ReplicaSet is created, you can check its status using the kubectl get replicaset. kubectl delete rs {NAME_REPLICA_SET} kubernetes. And a new pod will spring to life to replace it: NAME READY STATUS RESTARTS AGE LABELS rs-quarkus-demo-2txwk 0/1 ContainerCreating 0 2s app=quarkus-demo,env=dev rs-quarkus-demo-jd6jk 1/1 Running 0 109s app=quarkus-demo,env=dev rs-quarkus-demo-t26gt 1/1. . It uses a template that describes what each Pod must contain. yaml kubectl apply -f <my-replica-set>. In this blog post we are going to discuss the ReplicaSet concept in Kubernetes. Usually, you define a Deployment and let that Deployment manage ReplicaSets automatically. It seems the actual problem is that deployments are somehow confused by too many old replica sets. You can insert a key into the primary instance of the MongoDB Replica Set by running the following: MASTER_POD_NAME must be replaced with the name of the master found in the previous step. It is used to deploy, manage, and monitor. Scales down all deployments in a whole namespace: kubectl get deploy -n <namespace> -o name | xargs -I % kubectl scale % --replicas=0 -n <namespace>. it will reset it back to 3. Run the command kubectl edit replicaset new-replica-set, modify the replicas and then save the file. For ReplicaSets, the kind is always just ReplicaSet. Replica Sets. Edit the controllers configuration by using kubectl edit rs ReplicaSet_name and change the replicas count up or down as you desire. There can be multiple reasons – node maintenance, migration to another rack, datacenter, or newer hardware. I want to delete all old replica set once new version successfully deployed. Let’s see what is the best way to migrate one MongoDB replica set Pod from one node to another when local storage is used. The kubectl run command can take a number of arguments to configure additional parameters of the deployments. kubectl get daemonset <name-of-daemon-set> -n <namespace> -o yaml Share. Run the above file using kubectl and create the backend replica set with the provided definition in the yaml file. Run kubectl rollout status deployment/nginx-deployment to see rollout status of replicas in this deployment. This page contains a list of commonly used kubectl commands and flags. e filtering according to set of values. kubectl scale command is used to change the number of running replicas inside Kubernetes deployment, , replication controller, and stateful set objects. print (k8s. If you have used the kubectl rollout history command you might have noticed that it displays only the last 10. Pro tip! To save time you can use kubectl to generate the YAML file boilerplate by running; kubectl create deployment --image=awesome-app-image awesome-app-deployment --dry-run -o yaml. kubectl replace -f rs-creation. Update the replicas field in replicaset-demo. Delete a pod. By default, Kubernetes keep 10 replica sets for each deployment, which means you can go back 9 versions prior. yml # Verify if new pods got created kubectl get pods -o wide. 3. Kubernetes Replication Controller vs DeploymentYou need to use -c flag to specify the Container name. This application is a replicated MySQL database. 31 (a downgrade but still an update from K8s point of view), the ReplicaSet is not completely replaced. Background. Scaling your Deployment down to 0 will remove all your existing Pods. To create a replica said execute the following command. 27, this feature is now beta. Once the Mongodb replicaSet is up, cd into the user-service and execute kubectl create -f . The output is similar to this:$ kubectl get deployment -o wide # check the deployment $ kubectl get rs -o wide # When you create a deployment resource,. $ kubectl delete all --selector=<key>=<value> -n <namespace> or $ kubectl delete all -l <key>=<value> -n. kubectl is a command-line tool for interacting with a Kubernetes cluster. spec section. Create a deployment via kubectl run, as shown below. Deployments . Replica Sets . StatefulSet is the workload API object used to manage stateful applications. e. If not: to change this, add . We can exec into any of the nodes in the replicaset and check the status. How a ReplicaSet works? ReplicaSet is a next generation of replicationcontroller both replicaset and replicationcontroller ensure that pods that are. spec. We will explain: What RS is. The updateStrategy field accepts one of the following value. yaml kubectl delete rs new-replica-set kunectl create -f rs. kubectl apply -f creates Replica Sets using a config file: kubectl apply -f replicaset-definition-file. This command can be used to view logs from a single pod, but you can also use it to view logs from multiple simulataneously. kubectl get nodes -o wide MongoDB® nodes port: You will have a different node port for each MongoDB® node. To obtain them, follow the instructions below: MongoDB® nodes domain: you can reach MongoDB® nodes on any of the K8s nodes external IPs. kubectl logs -l app=myapp -c myapp --tail 100kubectl get pods <pod-name> -o yaml kubectl get pods my-helloworld-rs-c8rrj -o yaml Step-03: Expose ReplicaSet as a Service ; Expose ReplicaSet with a service (NodePort Service) to access the application externally (from internet) 3 Answers. The following command gives the status of the replica sets: kubectl get rs This will give us a table with the following columns: NAME DESIRED CURRENT READY AGE; my-deployment-74fa83b46b: 4: 4: 4: 12s: Note: This table will be printed out on the terminal. You can see them with this command: kubectl get pods NAME READY STATUS RESTARTS AGE mongo-0 2/2 Running 0 3m mongo-1 2/2 Running 0 3m mongo-2 2/2 Running 0 3m. What is a Mongo Replica Set. You’ll get that service/service23 created. The command will report back that the ReplicaSet was created. $ kubectl exec —namespace default MASTER_POD_NAME — mongo —eval=“printjson(db. kubectl get rs. For example, kubectl scale –replicas=2 rs/web. # Get commands with basic output kubectl get services # List all services in the namespace kubectl get pods --all-namespaces # List all pods in all namespaces. The. To check the current state, run this command: kubectl get mdb --namespace. Updating a Deployment. Lowering the replica count will cause. because what you are doing is not deleting the deployment but setting the desired replica count to 0. Get replicaset. kubectl logs -f -n namespace pod-id-here But what if there are 3 replicas of that Pod? There are some bash scripts and other utilities like Kubetail and Stern that make it somewhat easy to do. And, an example of that YAML file might look like the following: apiVersion: apps/v1 kind: ReplicaSet metadata: name: chef-server labels: app: chef-server tier: chef-server spec: replicas: 3 # We'll get three identical pods selector: matchLabels: tier: chef-server template : metadata:. Instead, use the kubectl get rc command to list replication controllers (or alternatively, change your manifest file to create a ReplicaSet instead of a ReplicationController). To begin with, create an Express app first. Implicit maintenance. kubectl apply -f aks-store-quickstart-hpa. Certificate Management with kubeadm; Configuring a cgroup driver; Reconfiguring a. # Verify k get pods -n sample. {target} is the name of the pod you want to view logs from;kubectl scale deployment my-deployment --replicas=0. By manually modifying the replica set that was created for you, you are fighting with the system controller. Execute kubectl get all to see all replicas of mongoDb running. In this case (the example above), we’re. Delete replica set. The driver will attempt to connect to each host in the seed list in turn, and once it gets a connection will run isMaster. 与所有其他 Kubernetes API 对象一样,ReplicaSet 也需要 apiVersion 、 kind 、和 metadata 字段。. Scale a resource specified in “ipsum. They behave in a similar way, but they have more expressive pod selectors. 13. name}) Show the. 9 the API version apps/v1 on the ReplicaSet kind is the current version and is enabled by default. answered Apr 1, 2016 at 5:16. kubectl create -f my-replica-set. Update the ReplicaSet. List the available daemon sets: [root@controller ~]# kubectl get ds NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR. I have my DNS records pointing to each external SVC IP. The pods must have labels that match the specified labels here. Along with the Deployments came the Replica Sets (RS), a kind of more powerful RC (supporting set-based labels).