K8S之Scheduler

1.Scheduler的调度流程

        Kubernetes Scheduler在整个系统中承担了“承上启下”的重要功能,“乘上”指的是它负责接受Controller Manager创建新的Pod,为其安排一个落脚的“家”:目标Node;“启下”是指安置工作完成后,目标Node上的Kubelet服务进程接管后续工作,负责Pod声明周期的“下半生”;

        Kubernetes Scheduler的作用是将待调度的Pod(API新创建的Pod、Controller Manager为补足副本而创建的Pod等)按照特定的调度算法和调度策略绑定(Binding)到集群中某个适合的Node上,并将绑定信息写入到etcd中。涉及的三个对象:待调度的Pod、可用Node列表、调度算法和策略

        随后目标Node的Kubelet通过API Server监听到 Kubemetes Scheduler产生的Pod绑定事件 ,然后获取对应的Pod清单,下载 mage镜像并启动容器,完整流程图如下:

        Scheduler只跟API Server打交道,输入为:待调度的Pod和全部计算机节点的信息,输出为:目标Pod要“安家”的最有节点(或者暂时不存在)

        Scheduler的调度流程主要包含2个阶段:过滤(Filtering)和打分(scoring)

                1.过滤阶段:遍历所有的目标Node,筛选出符合Pod要求的候选节点。其具体方式是通过一系列特定的Filter对每个 ode都进行筛选,筛选完成后通常会有 多个候选节点供调度,从而进入打分阶段;如果结果集为空,则表示当前还没有符合条件的Node节点,Pod会维持在 Pending状态。

                2.打分阶段:在过滤阶段的基础上,采用优选策略 (xxx Priorities ) 计算出每个候选节点的积分,积分最高者胜出,因为积分最高者表示最佳人选 。 挑选出最佳节点后,Scheduler 会把目标Pod安置到此节点上,调度完成 。

相关推荐

  1. K8S学习指南(62)-K8S源代码走读Kube-Scheduler

    2024-04-10 12:50:02       71 阅读
  2. <span style='color:red;'>k</span><span style='color:red;'>8</span><span style='color:red;'>s</span><span style='color:red;'>之</span>pod

    k8spod

    2024-04-10 12:50:02      43 阅读
  3. K8Shelm

    2024-04-10 12:50:02       45 阅读
  4. <span style='color:red;'>k</span><span style='color:red;'>8</span><span style='color:red;'>s</span><span style='color:red;'>之</span>HPA

    k8sHPA

    2024-04-10 12:50:02      39 阅读
  5. <span style='color:red;'>K</span><span style='color:red;'>8</span><span style='color:red;'>S</span><span style='color:red;'>之</span>HPA

    K8SHPA

    2024-04-10 12:50:02      47 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-10 12:50:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-10 12:50:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-10 12:50:02       82 阅读
  4. Python语言-面向对象

    2024-04-10 12:50:02       91 阅读

热门阅读

  1. [C++][算法基础]排列数字(DFS)

    2024-04-10 12:50:02       35 阅读
  2. C++数据类型

    2024-04-10 12:50:02       34 阅读
  3. LeetCode //C - 275. H-Index II

    2024-04-10 12:50:02       38 阅读
  4. python蓝桥杯选数

    2024-04-10 12:50:02       32 阅读
  5. Hugging Face Transformers 微调--利用 SQuAD 做问答任务

    2024-04-10 12:50:02       26 阅读
  6. websocket调用http接口

    2024-04-10 12:50:02       33 阅读
  7. 为什么K8s需要服务网格Istio?

    2024-04-10 12:50:02       29 阅读
  8. 【御控物联】 2、物联网构成

    2024-04-10 12:50:02       30 阅读
  9. systemctl stop与信号

    2024-04-10 12:50:02       32 阅读
  10. 一篇文章说清楚 golang之interface

    2024-04-10 12:50:02       34 阅读
  11. 汽车变速器原理?

    2024-04-10 12:50:02       33 阅读