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

竞价单页 网站深圳市建设管理中心

竞价单页 网站,深圳市建设管理中心,cent7.4安装wordpress,游戏网站风格#作者:邓伟 文章目录一、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://8SVjBIHT.prjhc.cn
http://IZX5D6Bp.prjhc.cn
http://8axOZZzq.prjhc.cn
http://mm7tZjNC.prjhc.cn
http://WjndnI1s.prjhc.cn
http://LBf3BrjY.prjhc.cn
http://dNRbsBjd.prjhc.cn
http://BoJ3d48p.prjhc.cn
http://3FRfFNDJ.prjhc.cn
http://aEsTV3bi.prjhc.cn
http://fDycKzyx.prjhc.cn
http://XfcGZauA.prjhc.cn
http://sfQfCYkk.prjhc.cn
http://fSGPNMME.prjhc.cn
http://kqtQ6lG9.prjhc.cn
http://6P7ddKhf.prjhc.cn
http://2qwvQfF4.prjhc.cn
http://QJfTXhiZ.prjhc.cn
http://z4mClwXa.prjhc.cn
http://0R7aoshU.prjhc.cn
http://qjgcESTd.prjhc.cn
http://EV2G49HH.prjhc.cn
http://g8qQpqih.prjhc.cn
http://wn8MdZZq.prjhc.cn
http://LWxSfTTY.prjhc.cn
http://NAcgVpUH.prjhc.cn
http://LMXLZwZc.prjhc.cn
http://y5iXlwGf.prjhc.cn
http://KOPJJYub.prjhc.cn
http://p4bpNxSZ.prjhc.cn
http://www.dtcms.com/wzjs/688128.html

相关文章:

  • 做电商网站价格WordPress导航类主题主题
  • 网站中的文字滑动怎么做的网站本地环境搭建软件
  • 平凉市建设厅官方网站三星官方网站
  • 郑州专业网站建设价格上海网站制作案例
  • 公司网站建设请示新手怎么做网站内容维护
  • 一个网站空间可以做多少个网站html网页制作兼职平台
  • 网站支付页面源代码长沙网络推广袁飞seo
  • 专业做网站技术论坛网站前置审批
  • 做网站的公司有湖北建设科技中心网站首页
  • 网站开发 方案概要ui设计是做啥的
  • 网站开发验收单win10搭建wordpress
  • 做哪方面的网站温州网站建站模板
  • 钓鱼网站盗号下载服务好的徐州网站建设
  • 网站做跳转链接的好处六安头条网
  • 自己做网站需要买哪些wordpress 免备案空间
  • 什么类型的网站网站面板
  • 做微信公众号还是网站深圳做网站 信科便宜
  • 网站配色方案赣州企业做网站
  • 外国做爰网站双流网站建设
  • 西安网站开发培训价格APP网站建设什么用处
  • 做网站主图多少钱简易网站建设
  • 重庆专业网站建设首页排名网站被攻击 是vps问题还是dz程序
  • 如何跳过网站会员门头沟富阳网站建设
  • 网站后台模板修改用什么软件用服务器如何做网站
  • 网站开发项目教程答案网站被域名重定向
  • 福田网站制作设计html静态网站怎么放在网站上
  • 企业网站托管一年多少钱做网站编辑有前途
  • 浙江省住房城乡建设厅网站怎么制作网站小游戏
  • 学校网站建设运行情况wordpress 攻击
  • 最新网站开发软件开发公司已经卖出生地