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

做彩票网站电话多少钱网站在线建设

做彩票网站电话多少钱,网站在线建设,导航网站没有内页没有了,网站建设管理工作#作者:邓伟 文章目录一、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://www.dtcms.com/a/478341.html

相关文章:

  • 网站建设入什么费用站规划在网站建设中的作用
  • c语言-流程控制语句
  • for和while循环,continue和break的用法
  • Redis-持久化之RDB
  • 网站宣传海报科技狂人
  • 哪个网站可以查到个人名下公司wordpress文章为啥数据库中找不到
  • 踏上编程征程,与 Python 共舞
  • 工业相机传感器CCD的原理及基础知识
  • 【电脑操作】如何快速去掉win11操作系统下默认的鼠标右键菜单的显示更多选项
  • 漏洞问题解决—SSL/TLS Not Implemented (verified)(中危)
  • 公司怎么建立自己网站WordPress云虚拟空间
  • C++速通Lambda表达式
  • 微企点做的网站怎么去底下的wordpress首页
  • 高防服务器分为哪几种?香港高防服务器有什么特点?
  • 用 PyTorch 实现 MNIST 手写数字识别:从入门到实践
  • 设计模式篇之 代理模式 Proxy
  • 智联招聘网站建设情况wordpress 注册 密码
  • Mobius Protocol:在“去中心化”逐渐被遗忘的时代,重建秩序的尝试
  • 网站制作公司费用wordpress 宋体、
  • 长宁怎么做网站优化好住房城乡建设门户网站
  • MySQL InnoDB Cluster 高可用集群部署与应用实践(下)
  • commons-rng(伪随机数生成)
  • qemu 串口模拟输入的整个流程
  • 在git commit时利用AI自动生成并填充commit信息
  • 【完整源码+数据集+部署教程】可回收金属垃圾检测系统源码和数据集:改进yolo11-AggregatedAtt
  • HakcMyVM-Crack
  • emmc extcsd寄存器
  • 利用径向柱图探索西班牙语学习数据
  • wordpress建淘宝客网站吗上海网站制作最大的公司
  • 定制网站平台的安全设计房地产公司网站建设