Overview #
This folder holds the node resources allocatable plugin implemented as discussed in NodeResourcesLeastAllocatable as score plugin.
Maturity Level #
- 💡 Sample (for demonstrating and inspiring purpose)
- 👶 Alpha (used in companies for pilot projects)
- 👦 Beta (used in companies and developed actively)
- 👨 Stable (used in companies for production workloads)
Node Resources Allocatable Plugin #
Resource Weights #
Resources are assigned weights based on the plugin args resources param. The base units for CPU are millicores, while the base units for memory are bytes.
Example config:
apiVersion: kubescheduler.config.k8s.io/v1
kind: KubeSchedulerConfiguration
leaderElection:
leaderElect: false
clientConnection:
kubeconfig: "REPLACE_ME_WITH_KUBE_CONFIG_PATH"
profiles:
- schedulerName: default-scheduler
plugins:
score:
enabled:
- name: NodeResourcesAllocatable
pluginConfig:
- name: NodeResourcesAllocatable
args:
mode: Least
resources:
- name: cpu
weight: 1000000
- name: memory
weight: 1
Node Resources Least Allocatable #
If plugin args specify the priority param “Least”, then nodes with the least allocatable resources are scored highest.
Node Resources Most Allocatable #
If plugin args specify the priority param “Most”, then nodes with the most allocatable resources are scored highest.