scheduler scheduling process:
the Predicate (pre) -> Priority (preferably) -> Select (selected)
scheduling method:
1. affinity scheduling node (NodeAffinity) using nodeSelector complete such scheduling.
2.Pod affinity and anti-affinity scheduling (PodAffinity, PodUnAffinity).
3. A stain tolerate scheduling. Node (Taints stains), the Pod (Tolerations tolerance).
Reference:
pre Strategy: https: //github.com/kubernetes/kubernetes/tree/master/pkg/scheduler/algorithm/predicates
preferably functions: https: //github.com/kubernetes/kubernetes/tree/master/pkg/scheduler / algorithm / priorities
preselected preselected strategy :( several common strategy) CheckNodeCondition: a check node condition. Whether on disk nodes, the network is not ready to Pod scheduling with good premise to this node or not. GeneralPredicates: General preselected policy, the policy comprising a plurality of: the HostName: Check whether the object is defined Pod pod.spec.hostname PodFitsHostPort: Check whether the object defined pod.spec.containers.ports.hostPort Pod
MatchNodeSelector: pods.spec.nodeSelector PodFitsResources: resource requirements Pod checking whether the node can be satisfied. NoDiskConflict: Check whether Pod dependent storage volume to meet demand. PodToleratesNodeTaints: spec.tolerations check on Pod tolerable stains stain is completely contained in the node. PodToleratesNodeNoExecuteTaints: Pod node does not allow pollution; not enabled by default. CheckNodeLabelPresence: Check the node labels; not enabled by default CheckserviceAffinity: Inspection Services affinity. Not enabled by default MaxEBSVolumeCount: Amazon Elastic storage volume maximum number, default 39 MaxGCEPDVolumeCount: the maximum number of storage volumes Google containers engine, the default 16 MaxAzureDiskVolumeCount: The maximum number of disks Azure, default 16 CheckVolumeBinding: Check the data volume binding NoVolumeZoneConflict: no data volume space conflict CheckNodeMemoryPressure : definition of check node memory pressure name
CheckNodePIDPressure: definition of the check node name PID pressure
CheckNodeDiskPressure: defines a pressure disk check node name MatchInterPodAffinity: Room defined name associated with the matching POD preferably is preferably a function of several common functions :() LeastRequested: (CPU (Capacity-SUM (requested)) 10 * / Capacity) + (memory (Capacity-SUM (requested)) * 10 / Capacity) / 2 BalancedResourceAllocation: the CPU and memory resource usage is similar winner; object node resource usage rate balancing. NodePreferAvoidPods: Node annotation information "scheduler.alpha.kubernetes.io/preferAvoidPods" TaintToleration: the taints node and list item spec.tolerations Pod inspection object to be matching, the more matching entries, the lower the score. SelectorSpreading: scheduler will schedule pod dispersion. InterPodAffinity: The affinity between the Pod. NodeAffinity: According node affinity. MostRequested:
The most requested node. NodeLabel: The node label ImageLocality: and satisfies needs existing objects Pod current mirror according to the size of the volume.
Preferably the preselected strategy and scheduling functions k8s
Guess you like
Origin www.cnblogs.com/Smbands/p/10939585.html
Recommended
Ranking