Certified Kubernetes Administrator Study Guide – Scheduling – Use label selectors to schedule pods

  • Labels are key-value pairs
  • When using label selectors to specify node selection you add the following section to the yaml specification:
nodeSelector:
  accelerator: nvidia-tesla-p100

This example is telling Kubernetes to select only nodes with the label accelerator = nvidia-tesla-p100.

Where accelerator is the is the key and nvidia-tesla-p100 is the value.

  • The nodeSelector section comes within the spec: section after the definition of the containers.
  • Matching resources must satisfy all of the specified label constraints, although they can have additional labels as well e.g. the above example requires that a node has a label of accelerator with a value of nvidia-tesla-p100 in order to match the selector for the pod but it could also have a label of production with a value of true. The pod does not have to have this label specified in its selector statement.
  • Can also create a label on a node using kubectl:
kubectl label node vm-node1 environment=production
  • For services and replicationcontrollers targeting a set of pods label selectors are also used in this scenario they use the format:
selector:{
  "component": "redis",
}

  or

selector:
  component: redis

Can use kubectl with labels using:

kubectl get pods -l environment=production, tier=frontend

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Discover more from kskilling

Subscribe now to keep reading and get access to the full archive.

Continue reading

search previous next tag category expand menu location phone mail time cart zoom edit close