This is a quick recap for the points of pod schedual, details can click each title link or the final reference.
1. Affinity
-
nodeAffinity
andnodeAntiAffinity
- node labels
-
podAffinity
andpodAntiAffinity
- pod labels
-
requiredDuringSchedulingIgnoredDuringExecution
andpreferredDuringSchedulingIgnoredDuringExecution
topologyKey
2. nodeName/nodeSelector
spec: containers: - name: nginx image: nginx imagePullPolicy: IfNotPresent nodeSelector: disktype: ssd --- spec: nodeName: foo-node # schedule pod to specific node containers: - name: nginx image: nginx imagePullPolicy: IfNotPresent
3. Taint/Tolerations
CMD
k taint node NAME key[:value]:[EFFECT] k describe node NAME | grep -i taint
yaml
tolerations: - key: "example-key" operator: "Exists" effect: "NoSchedule" - key: "key1" operator: "Equal" value: "value1" effect: "NoExecute"
4. Priority
The larger the higher
priorityclass
k get priorityclass
yaml
spec: containers: - name: nginx image: nginx imagePullPolicy: IfNotPresent priorityClassName: high-priority
Reference
Different way to assign Pods to Nodes
Assign Pods to Nodes
Pod Priority and Preemption
Top comments (0)