Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Scheduling and Resource Management in Kubernetes

Scheduling and Resource Management in Kubernetes

Effective management of shared resources (CPU, memory, etc.) is critical to achieving high utilization and strong isolation in shared clusters. This talk will describe the Kubernetes features that allow you to simultaneously achieve your utilization, isolation, and availability goals. We will also examine the new features in Kubernetes 1.6 that give you fine-grained control over placement of your containers, and describe how to use them to achieve various concrete policy goals. Lastly we will discuss the feature roadmap in this area for the next few releases.

Ian Lewis

July 12, 2017

More Decks by Ian Lewis

Other Decks in Technology


  1. Kubernetes Scheduling Features Or How Can I Make the System

    Do What I Want? Ian Lewis, Developer Advocate, Google
  2. Dedicated machines (Taints) Taint: { TaintEffect: "NoSchedule", Key: "color", Value:

    "blue" } Toleration: { Key: "color", Value: "blue", Operator: "Equal", TaintEffect: "NoSchedule" }
  3. Decision tree Node Affinity score Node Affinity score ? Spreading

    score Spreading score ? ... > < = 1000 * (Node Affinity score) + 100 * (Spreading score) + ... > < =
  4. • [beta in 1.6] Multi-scheduler support • [beta in 1.6]

    Node affinity • [beta in 1.6] Pod affinity/anti-affinity • [beta in 1.6] Tains & tolerations Feature state as of 1.6
  5. SIG Scheduling • Meeting every other Monday 2pm PST •

    #sig-scheduling Slack channel • kubernetes-sig-scheduling@ mailing group Join community