首页 > 其他 > 详细

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

时间:2019-08-07 01:28:36      阅读:156      评论:0      收藏:0      [点我收藏+]

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

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

节点亲和性调度
反亲和性

调度器:
预选策略:
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 默认没有启用

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

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

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 不容忍的如果没有其他的选择那么也就可以被保留

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

Tolerrations 容忍度

admin Abc.1234

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

原文:https://www.cnblogs.com/heaven-xi/p/11312637.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!