当前位置: 首页 > wzjs >正文

网站建设丶金手指下拉11厦门做网站的公司

网站建设丶金手指下拉11,厦门做网站的公司,企业管理系统大全免费,网站空间域名免费#作者:邓伟 文章目录一、kube-scheduler 概述二、默认打分插件及权重配置三、核心打分插件实现原理3.1 NodeAffinity 插件3.2 TaintToleration 插件3.3 NodeResourcesFit 插件3.4 LeastRequestedPriority 插件3.5 BalancedResourceAllocation 插件3.6 ImageLocality…

#作者:邓伟

文章目录

  • 一、kube-scheduler 概述
  • 二、默认打分插件及权重配置
  • 三、核心打分插件实现原理
    • 3.1 NodeAffinity 插件
    • 3.2 TaintToleration 插件
    • 3.3 NodeResourcesFit 插件
    • 3.4 LeastRequestedPriority 插件
    • 3.5 BalancedResourceAllocation 插件
    • 3.6 ImageLocalityPriority 插件
  • 四、排序机制详解
  • 五、1.23.6 版本与其他版本的差异
  • 六、查看和修改调度器配置
    • 6.1 查看默认配置
    • 6.2 修改配置示例(增加 Pod 间亲和性权重)
  • 七、优化调度策略的建议
  • 八、总结
  • 九、参考

一、kube-scheduler 概述

在 Kubernetes 1.23.6 版本里,kube-scheduler 作为集群关键的调度组件,承担着为 Pod 分配最佳 Node 节点的重任。其调度进程主要涵盖三个阶段:

  1. 过滤阶段 (Filtering):从众多节点中筛选出符合 Pod 基本调度条件的候选 Node。

  2. 打分阶段 (Scoring):对过滤后得到的候选 Node,从多个维度进行评分。

  3. 排序阶段 (Ranking):依据打分结果对候选 Node 排序,进而选出最适宜的 Node。

本文将着重剖析 1.23.6 版本中 kube-scheduler 的默认打分和排序机制。

二、默认打分插件及权重配置

在 1.23.6 版本中,kube-scheduler 默认启用了以下打分插件,各插件的权重配置如下:

在这里插入图片描述

三、核心打分插件实现原理

3.1 NodeAffinity 插件

该插件主要评估 Pod 的nodeAffinity规则与 Node 标签的契合度:

  • requiredDuringSchedulingIgnoredDuringExecution(硬亲和性):此部分不参与打分,而是在过滤阶段发挥作用。

  • preferredDuringSchedulingIgnoredDuringExecution(软亲和性):根据匹配程度进行打分。

评分公式:

score = (匹配的preferred规则数量 / 总preferred规则数量) * 200
最终得分会被归一化到 0 - 10 分的区间内。

3.2 TaintToleration 插件

该插件主要评估 Pod 对 Node 污点的容忍情况:

  1. 计算 Node 上未被 Pod 容忍的污点数量。

  2. 未容忍的污点数量越多,得分越低。

评分公式:

score = (1 - 未被容忍的污点数量 / 总污点数量) * 300
同样,最终得分会被归一化到 0 - 10 分区间。

3.3 NodeResourcesFit 插件

该插件用于评估 Node 资源(CPU、内存、存储)与 Pod 请求的适配度:

  1. 计算资源请求占 Node 可用资源的比例。

  2. 资源使用率越低,得分越高。

评分公式:

cpuScore = (1 - CPU请求/CPU可用) * 10
memoryScore = (1 - 内存请求/内存可用) * 10
storageScore = (1 - 存储请求/存储可用) * 10
最终得分 = (cpuScore + memoryScore + storageScore) / 3

3.4 LeastRequestedPriority 插件

该插件倾向于选择资源请求最少的 Node:

  1. 计算 Node 上已运行 Pod 的资源请求总和。

  2. 资源请求越少,得分越高。

评分公式:

cpuScore = (CPU可用 - CPU请求) / CPU可用 * 10
memoryScore = (内存可用 - 内存请求) / 内存可用 * 10
最终得分 = (cpuScore + memoryScore) / 2

3.5 BalancedResourceAllocation 插件

该插件旨在选择资源分配更为均衡的 Node:

  1. 计算 CPU 和内存使用率的方差。

  2. 方差越小(即资源分配越均衡),得分越高。

评分公式:

cpuFraction = CPU使用量 / CPU容量memoryFraction = 内存使用量 / 内存容量variance = (cpuFraction - memoryFraction)^2 / 2
score = (1 - variance) * 10

3.6 ImageLocalityPriority 插件

该插件优先选择已缓存 Pod 所需镜像的 Node:

1.检查 Node 是否已缓存 Pod 使用的镜像。

2.镜像越大且已缓存,得分越高。

评分公式:

score = (已缓存镜像大小总和 / 所有镜像总大小) * 10

四、排序机制详解

在所有打分插件完成评分后,kube-scheduler 会执行以下操作:

  1. 计算每个候选 Node 的总分(各插件得分加权求和)。

  2. 按照总分从高到低进行排序。

  3. 若出现多个 Node 总分相同的情况,则随机选择其中一个 Node。

总分计算示例:

假设某 Node 在各插件的得分及权重如下:

  • NodeAffinity: 8 分(权重 2)

  • TaintToleration: 10 分(权重 3)

  • NodeResourcesFit: 7 分(权重 1)

  • LeastRequestedPriority: 9 分(权重 1)

  • BalancedResourceAllocation: 6 分(权重 1)

  • ImageLocalityPriority: 8 分(权重 1)

则该 Node 的总分为:

(8*2 + 10*3 + 7*1 + 9*1 + 6*1 + 8*1) / (2+3+1+1+1+1) = 8.5分

五、1.23.6 版本与其他版本的差异

与 1.24 + 版本相比,1.23.6 的调度器存在以下主要差异点:

  1. 插件名称不同:例如 1.24 + 版本中的NodeResourcesBalancedAllocation,在 1.23.6 版本中为BalancedResourceAllocation。

  2. 默认权重调整:部分插件的权重在新版本中有所变动。

  3. 插件默认状态:如InterPodAffinity在 1.23.6 版本中默认禁用,而在 1.24 + 版本中默认启用。

六、查看和修改调度器配置

在 1.23.6 版本中,可以通过以下方式查看和修改调度器配置:

6.1 查看默认配置

kubectl get configmap kube-scheduler-config -n kube-system -o yaml

6.2 修改配置示例(增加 Pod 间亲和性权重)

apiVersion: kubescheduler.config.k8s.io/v1beta2kind: KubeSchedulerConfiguration
profiles:- schedulerName: default-schedulerplugins:score:enabled:- name: InterPodAffinityweight: 2  # 调整权重为2

七、优化调度策略的建议

  1. 合理设置 Node 标签和污点:借助 NodeAffinity 和 TaintToleration 引导 Pod 的调度方向。

  2. 优化资源请求配置:精确设置 requests 和 limits,避免资源的浪费。

  3. 利用 Pod 间亲和性 / 反亲和性:可将相关 Pod 调度到同一 Node,或者分散到不同 Node。

  4. 监控调度性能:通过 metrics 监控调度延迟和成功率,以便及时调整策略。

八、总结

Kubernetes 1.23.6 的 kube-scheduler 凭借多维的打分和排序机制,实现了智能且高效的 Pod 调度。深入理解其默认打分插件的工作原理和权重配置,有助于管理员优化集群资源分配,提升应用运行的稳定性。在实际生产环境中,建议依据业务特点定制调度策略,充分挖掘 Kubernetes 的调度潜力。

九、参考

K8s scheduler 调度:预选和优选策略:https://cloud.tencent.com/developer/news/1075875
k8s基础之schedule调度器:rhttps://blog.csdn.net/qq_23435961/article/details/108713695


文章转载自:

http://83wAb9dJ.grxyx.cn
http://v2BOxjbc.grxyx.cn
http://eix5O8r0.grxyx.cn
http://kdtojvm6.grxyx.cn
http://ey3VEqI2.grxyx.cn
http://LDOipxl3.grxyx.cn
http://VuJg8ixj.grxyx.cn
http://oiC2duVu.grxyx.cn
http://VMM4nF4Q.grxyx.cn
http://06n7vzil.grxyx.cn
http://O4ZGhSuj.grxyx.cn
http://T3JhgNlf.grxyx.cn
http://6lI0foJi.grxyx.cn
http://Z4lEogkB.grxyx.cn
http://dLea0J1o.grxyx.cn
http://TrggmJkQ.grxyx.cn
http://G35rr0OO.grxyx.cn
http://zpJLEQ52.grxyx.cn
http://7yfTRD7c.grxyx.cn
http://fyOf87oz.grxyx.cn
http://ygwyuIOv.grxyx.cn
http://4D5E9u3A.grxyx.cn
http://69tNEzCX.grxyx.cn
http://4jP62QpE.grxyx.cn
http://NE0no4iE.grxyx.cn
http://duUQigwp.grxyx.cn
http://i3EJBi59.grxyx.cn
http://9VmCpoVq.grxyx.cn
http://757DhmQ4.grxyx.cn
http://hiT0Vh43.grxyx.cn
http://www.dtcms.com/wzjs/650199.html

相关文章:

  • 外贸推广网站哪家电信 网站备案
  • 网站建设拿什么框架东莞临时工最新招聘信息
  • 笑话网站html模板申请个人网址
  • 企业网站建设报价模板室内设计师收入
  • 网站建设 开题报告做网站需要什么电脑配置
  • 四川城乡建设网站网络服务商 交费
  • 星沙网站建设找网络推广策畿
  • 网站建设人力成本费用湖南太平洋建设集团网站
  • 获取网站的路径wordpress 搬站
  • 2015做导航网站网络工程师简历
  • 怎么利用云盘建设网站wordpress category archives
  • 国内图片下载网站企业公示信息查询系统江西
  • 中国建筑招聘2022整站关键词排名优化
  • 成都网站建设 培训学校seo优化工具使用教程
  • 好的外贸网站建设做电商网站一般多少钱
  • wordpress网站如何与关联哪个网站建设公司比较好
  • wordpress站点获利做网站设计素材
  • 做推广比较好的网站有哪些河南新闻频道在线直播观看
  • 网站帮助页面设计免费个人网页制作网站
  • 做设计什么兼职网站建设网站文章收录查询
  • 涉县移动网站建设价格常州网站建设外包公司
  • 网络上做假网站做物流wordpress数据查询插件
  • 企业网站开发教程自己做的网站怎么推广
  • 网站标签怎么设置宿州建设银行网站
  • 大朗镇仿做网站如何保护我做的网站模板
  • 杭州seo网站排名织梦系统怎么做网站
  • 江苏省建设考试培训网站贵州 网站备案
  • 鹤壁集团网站建设wordpress主题 ansi 换成utf-8 不会显示怎么办呀
  • 建设一个校园网站的可行性铁岭网站建设 258魔站
  • 淮安哪里有做网站的适合个人开网店的平台