Scheduling (5%)

‡Use label selectors to schedule Pods

Understand the role of DaemonSets

Understand how resource limits can affect Pod scheduling

Understand how to run multiple schedulers and how to configure Pods to use them

Manually schedule a pod without a scheduler.

  • alternateive 2) https://kubernetes.io/docs/api-reference/v1.9/#binding-v1-core – obsolete after 1.7
    ‡ Instructions for 2) are found in course lab 11, but very difficult to google out.
    excersise:
    for alternative 1), havea cluster setup by kubeadm. Then add some simple pod as static to kubectl service’s manifest.

Display scheduler events

  • kubectl get events –namespace=my-namespace
  • kubectl describe pods | grep -A7 ^Events
  • /var/log/kube-scheduler.log on the control/master node

Know how to configure the Kubernetes scheduler

Question from CKA-beta exam
Q: Run a Jenkins Pod on a specified node only.

  • https://kubernetes.io/docs/tasks/administer-cluster/static-pod/
  • Create the Pod manifest at the specified location and then edit the systemd service file for kubelet(/etc/systemd/system/kubelet.service) to include `–pod-manifest-path=/specified/path`. Once done restart the service.
  • Alternative (that’s what I’d do) – label a node with e.g. “jenkinsrunner: yes”, and apply on a pod or it’s deployment:
    nodeSelector:
        jenkinsrunner: yes