20-21 调度器,预选策略及优选策略。以及高级调度方式

20-21 调度器,预选策略及优选策略。以及高级调度方式

Scheduler
调度过程:
预选过程 predicate
优选策略 priority
选定 selectnode

节点亲和性调度
反亲和性函数

调度器:
预选策略:
CheckNodeCondition
GeneralPredicates
HostName: 检查pod对象是否认义了pod.spec.hostname
PodFitsHostPorts: pods.spec.containers.ports.hostPort
MatchNodeSelector: pods.spec.nodeSelector
PodFitsResources: 检查Pod资源需求可否被节点知足
kubectl describe node k8s-node1
NoDiskConflict 检查节点是否有合适的能知足pod依赖的存储卷
PodtoleratesNodeTaints: 检查pod上的tolerations可容忍的污点是否彻底包含节点上的污点
PodToleratesNodeNoExecuteTains 默认没有启用
CheckNodeLabelPresence 检查标签的存在性 默认没有启用
CheckServiceAffinity 默认没有启用ui

MaxEBSVolumeCount
    MaxGCEPDVolumeCount
    MaxAzureDiskVolumeCount
    
    CheckVolumeBinding
    NovolumeZoneConflict
    
    CheckNodeMemoryPressure   检查节点内存资源是否存在压力
    CheckNodePIDpressure   检查节点PID资源是否存在压力
    CheckNodeDiskPressure 检查节点磁盘是否存在压力
    
    MatchInterPodAffity

优选函数
LeastRequested:
(cpu((capacity-sum(requested))*10/capacity)code

BalancedResourceAllocation
    CPU和内存资源被占用率相近的胜出
NodePreferAvoidPods
    节点注解信息“scheduler.alpha.kubernetes.io/preferAvoidPods”
    
TaintToleration:  将Pod对象的spec.tolerations 与节点的taints列表项进行匹配度检查,匹配的条目越多,得分越低

SelectorSpreading: 与当前pod对象同属的标签选择器,匹配度越高得分越低

InterPodAffinity

NodeAffinity 节点亲和性

MostRequested

NodeLabel

ImageLocality: 根据已有镜像的体积大小之和

高级调度设置:对象

节点选择器: nodeSelector
节点亲和调度:nodeAffinity
kubectl explain pods.spec.affinity.nodeAffinity内存

preferredDuringSchedulingIgnoredDuringExecution  软亲和性,若是能知足最好,若是实在不知足,也能够
requiredDuringSchedulingIgnoredDuringExecution   硬亲和性,必需要知足才行

taint的effect定义对pod的排斥效果:
NoSchedule 仅影响调度过程
NoExecute 既影响调度过程也影响现存的Pod对象;不容忍的Pod对象将比驱逐
PreferNoSchedule 不容忍的若是没有其余的选择那么也就能够被保留ci

污点调度 taint: 给节点那些pod能被调度,通常用在节点上,也是一种键值属性, taints资源

Tolerrations 容忍度kubernetes

admin Abc.1234it

相关文章
相关标签/搜索