Pod 资源创建完毕后,处于还未调度阶段,这个时候scheduler(调度器)基于podyaml 本身的配置与节点资源状态情况,来进行调度。
scheduler 会去分析PodYAML,将其中的策略提取出来,与节点组中的节点配置进行匹配,若匹配成功后,会选出最佳节点,重新修改pod yaml,将spec.nodeName更新掉,完成整个调度环节。
资源策略表明Pod 运行需要的资源情况,以demo 为例,Pod 需要2 核4G 的资源,那么调度过去的节点也需要有2 核4G 的资源剩余,Pod 才能运行在该节点上。
节点标签筛选策略,筛选节点是否存在topology.kubernetes.io/region:cnhangzhou。
亲和策略,有节点亲和与Pod 亲和(Pod 所在节点优先调度),常规来说可以优先满足亲和的节点上,当前例子就是节点亲和,满足标签disk-type=aaa 或者disktype=bbb。
污点策略,当节点上配置了污点,若Pod 没有容忍该污点的策略,则Pod 不允许调度到该节点上。
以上内容摘自《SREWorks 云原生数智运维工程实践》电子书,点击https://developer.aliyun.com/ebook/download/7784可下载完整版。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。