最新动态
时速云是一家专业的云原生应用及数据平台服务提供商,秉持“让计算产生价值,让数据成为资产”
的使命,致力于帮助客户实现数字化转型。

基于 K8s 构建的可扩展调度和弹性工具 “Arbiter”正式开源

​近年来,全球开源项目发展势头强劲,你是否听过这样一个有意思的说法:开源正在吞噬一切。

不论这种说法是否言过其实,可以确定的是开源在推动技术创新、促进产业协作、加快各行业数字化方面发挥的作用日益凸显,开源技术则得到了更广范围的应用和落地,开发者们对开源项目和社区的热情也愈发高涨。

而在《2022 中国开源贡献度报告》中显示,中国开发者主导的开源项目占全球12.5%,国际开源项目 Top 50,中国仅占两席,中国在开源创造与创富上仍处于落后地位。(注:报告来源CSDN)

中国软件要想迈向高质量发展,从“能用”到“好用”到“多用”,则要加大投入力度,持续提升国产软件自主创新能力,拥抱开源生态,以众研众用众创驱动产业驶入快车道。

近年来,越来越多的软件公司团队参与到开源项目中。通过集众智、采众长,通过变“一家所有”为“开放共有”,加速软件迭代升级,降低企业研发成本。

时速云正式发布开源项目 Arbiter 

时速云作为国内领先云原生技术服务提供商,当仁不让的拥抱开源生态,积极参与到国产开源项目的创新中。

近日,时速云研发团队宣布开源项目“Arbiter”正式上线发布。Arbiter 作为时速云在容器技术生态的首个开源工具,聚焦在容器调度及弹性领域,具备低门槛、易扩展、开箱即用等主要特点。

Arbiter 是什么?

Arbiter 是一个基于 Kubernetes 构建的可扩展调度和弹性工具。它将聚合各种类型的数据,并在管理、调度或扩展集群中的应用程序时将它们考虑在内。它可以帮助 Kubernetes 用户了解和管理集群中部署的资源,进而提高企业应用程序的资源利用率和运行效率。

Arbiter 如何诞生?

Arbiter聚焦于帮助企业用户优化并解决在实际业务研发应用上的一系列难题。它的诞生来源于时速云对云原生业务的生产实践(例如服务客户、厂商遇到的一系列业务痛点问题)以及源源不断给知名项目(Kubernetes 以及相关的CNCF项目)贡献代码的过程中发现的问题。

基于以上两方面,时速云发现 Kubernetes 项目中基础的监控调度不够灵活 。

一方面,监控与调度独立且分割。监控观测到的数据很多元,但调度使用到的数据却极其有限;

另一方面,调度程序的模式固定,致使Kubernetes 默认的调度算法在实际业务应用中往往无法满足需求,公司或者开发者无法轻松方便实现根据业务应用需求去动态自定义制定调度策略。

因此,时速云尝试在 Kubernetes 项目基础上优化解决这些问题,并进行深入延伸探索,开发了“Arbiter”开源项目。

Arbiter 有什么特点?

Arbiter使用简单,易于扩展,可以辅助调度和弹性,能自定义触发行为,同时我们还提供了开箱即用的插件供用户使用和二次开发。

使用简单:我们通过定义 OBI 模型,将监控、日志、链路数据转为统一指标,用户可以基于这些 OBI 数据触发自定义行为,比如打标签、告警等;我们还提供了  ‘abctl’  命令工具来快速、方便的查看和使用这些指标数据。

易于扩展:我们将 OBI 注入调度扩展框架中,用户可以使用 Javascript 编程语言来配置自己的调度策略,极大降低了用户的心智门槛;用户可以基于 OBI 数据实现基于节点实际资源使用率的业务动态调度,提高资源的平均使用率。

辅助调度和弹性:OBI 还可以被弹性伸缩策略使用,比如 HPA/VPA,为弹性伸缩相关需求提供了更多方便。

自定义触发行动:基于 OBI 数据,允许触发自定义行为,可以辅助资源的按策略自动标记及自动化人工任务。

开箱即用:提供来自真实用户场景的各种开箱即用插件,以支持各种需求并提供社区支持。

Arbiter 有什么功能?

1、将各类观测性指标通过 OBI 进行采集及表示,支持 metrics-server、prometheus等工具,并可扩展支持更多监控、日志、链路数据的集成;

2、内置多种示例指标的 OBI ,例如集群容量、系统资源使用情况、预留资源和实际资源使用情况;

3、基于 JS 的调度扩展,实现根据节点的实际资源使用情况进行调度,也可以通过定义 CRD 自定义调度策略;

4、根据资源敏感度和管理员定义的基线对 pod/deployment/statefulset/service 进行分类;

5、对服务、节点资源进行超卖配置;

6、提供命令行工具快捷查看 OBI 的统计数据;

7、提供 OBI adapter ,通过采集的指标同HPA结合,实现服务更多维度的弹性策略;

8、节点资源预留,通过调度,允许对某些节点预留一定资源,以备不时之需;

开源地址

项目地址:https://github.com/kube-arbiter/arbiter

项目文档:http://arbiter.k8s.com.cn/zh-Hans/docs/intro/

时速云欢迎大家参与 Arbiter 开源项目,提出宝贵的想法(PR、Issue,贡献 Star 等),也可添加小助手微信,加入社群进行交流讨论哦~