跳转至

koordinator v1.6.0

为什么要使用koordinator

在当今快速发展的技术环境中,企业面临着资源管理的巨大挑战。随着应用程序的复杂性和对计算资源的需求不断增加,传统的资源调度方法往往显得力不从心。koordinator的出现,正是为了打破这种困境。它不仅提供了高效的资源调度解决方案,还能智能地优化资源的使用,确保每个应用程序都能获得所需的资源。想象一下,一个企业在高峰期的流量中,如何通过koordinator的智能调度,避免资源浪费和系统崩溃,这正是它的魅力所在。

koordinator是什么

koordinator是一个开源的资源调度管理工具,旨在优化Kubernetes环境中的资源分配。它通过智能调度算法,帮助用户更高效地管理和分配计算资源,确保应用程序在运行时能够获得最佳性能。koordinator支持多种资源类型的调度,包括CPU、内存和GPU等,能够满足不同应用场景的需求。

入门示例

想象一下,一个在线游戏公司在推出新游戏时,流量激增,服务器负载骤增。使用koordinator,开发团队可以设置资源预留策略,确保在高峰期游戏服务器能够获得足够的CPU和内存资源。具体来说,开发者可以通过简单的配置文件,定义游戏服务器的资源需求,koordinator会自动识别并分配这些资源,确保游戏的流畅运行。以下是一个简单的配置示例:

apiVersion: scheduling.koordinator.sh/v1
kind: Reservation
metadata:
  name: game-server-reservation
spec:
  resources:
    requests:
      cpu: "4"
      memory: "8Gi"

koordinator v1.6.0版本更新了什么

koordinator v1.6.0版本带来了多项重要更新,包括改进了调度器的保留消息处理,增强了对NUMA资源的支持,修复了多个并发读写问题,并优化了调度性能。此外,增加了对设备拓扑策略的支持,使得资源调度更加灵活高效。

更新日志

更新内容

  • 调度器:如果其他插件过滤掉的匹配保留消息进行了优化。
  • 添加了ZiMengSheng到审批者别名中。
  • 调度器:修复了保留插件在并发读写时的克隆问题。
  • 调度器:修复了弹性配额TestPlugin_OnPodDelete的随机崩溃问题。
  • 调度器:更改了保留事件消息格式。
  • 调度器:在保留级别事件中添加节点信息。
  • 调度器:支持消费保留的NUMA资源。
  • 调度器:添加了新的Pod估算与负载感知插件。
  • koord-descheduler:限制Pod驱逐的总数量。
  • koord-descheduler:在LowNodeLoad中平衡生产Pod在节点之间的分布。
  • 调度器:Pod更新不应更新时间戳。
  • koord-descheduler:通过将对象限制器移动到协调器进行修复。
  • koord-descheduler:增强LowNodeLoad评分器。
  • koord-descheduler:支持在迁移控制器中驱逐所有裸Pod。
  • koordlet:更新resctrl qos提案。
  • koordlet:在状态通知中添加taskids。
  • koord-manager:修复prom指标处理程序。
  • koord-descheduler:修复调度器日志。
  • 调度器:支持Pod请求精确匹配保留。
  • 调度器:减少保留的cycleState开销。
  • 调度器:修复reserveNUMAResource的bug。
  • koordlet:添加allpods协调器功能。
  • 调度器:减少设备共享内存开销。
  • webhook:添加配额评估webhook。
  • koordlet:升级nri到0.6.1。
  • koord-manager:支持手动配置默认CPU归一化设置。
  • koordlet:为netqos添加tc插件。
  • koord-descheduler:修复生产阈值后低节点负载测试。
  • koord-scheduler:Pod更新时不应更新时间戳。
  • koord-descheduler:修复对象限制器。
  • koord-descheduler:增强LowNodeLoad评分器。
  • koord-descheduler:支持全局最大迁移限制。
  • 调度器:跳过不必要的Filter&Score插件。
  • 所有:支持优先级和抢占策略转换器。
  • 调度器:弹性配额忽略终止Pod。
  • koord-descheduler:修复maxMigratingGlobally参数的json标签。
  • 调度器:支持多GPU共享。
  • 调度器:当cpuPolicy不满足时返回framework.Unschedulable。
  • koord-manager:修复资源放大中的无效分配。
  • koordlet:添加一些信息以提高日志可读性。
  • ci:为E2E作业添加磁盘GC。
  • 调度器:修复NUMANode等于-1时的崩溃问题。
  • 调度器:修复过多的ut日志。
  • 调度器:支持调度器配置v1。
  • 调度器:添加协同调度的preEnqueue。
  • koordlet:为Pod级别添加resctrl运行时钩子。
  • koord-manager:当节点标签更新时,nodeslo-controller入队请求。

总结

在koordinator v1.6.0版本中,开发团队进行了多项重要更新,旨在提升资源调度的灵活性和效率。这些更新不仅修复了多个已知问题,还增强了对NUMA资源的支持,优化了调度性能,使得用户在使用koordinator时能够获得更好的体验。