当前位置: 首页 > Web前端 > JavaScript

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

时间:2023-03-26 22:48:29 JavaScript

近年来,全球开源项目发展势头强劲。你有没有听过这样一个有趣的说法:开源正在吞噬一切。不管这种说法夸大与否,可以肯定的是,开源在推动技术创新、促进产业协同、加速各行业数字化转型等方面发挥着越来越突出的作用。开源技术得到了更广泛的应用和实施。对该项目和社区的热情也越来越高。据《2022 中国开源贡献度报告》报道,中国开发者主导的开源项目占全球的12.5%,在国际开源项目前50名中中国仅占两个。中国在开源创造和财富创造方面仍然落后。(注:报告来源CSDN)中国软件要想走向高质量发展,从“好用”到“好用”再到“多用”,就必须加大投入,不断提高自主性国产软件的创新能力,拥抱开源生态,带动产业进入公共研究、公共使用、公共创新的快车道。近年来,越来越多的软件公司团队参与到开源项目中。集众智、众力,变“独有”为“开放共享”,加速软件迭代升级,降低企业研发成本。*极速云正式发布开源项目Arbiter极速云,作为国内领先的云原生技术服务商,拥抱开源生态,积极参与国内开源项目的创新。近日,极速云研发团队宣布开源项目“Arbiter”正式发布。Arbiter作为SpeedCloud在容器技术生态中的第一个开源工具,专注于容器调度和弹性,具有门槛低、易扩展、开箱即用等主要特点。*什么是仲裁者?Arbiter是一种可扩展的调度和弹性工具,构建在Kubernetes之上。它将聚合各种类型的数据,并在管理、调度或扩展集群中的应用程序时将它们考虑在内。可以帮助Kubernetes用户了解和管理集群中部署的资源,从而提高企业应用的资源利用率和运行效率。*仲裁者是如何诞生的?Arbiter专注于帮助企业用户优化解决实际业务研发应用中的一系列问题。它诞生于发现SpeedCloud对云原生业务的生产实践(如服务客户等厂商遇到的一系列业务痛点),并不断为知名项目(Kubernetes及相关CNCF项目)贡献代码问题。基于以上两方面,SpeedCloud发现Kubernetes项目中的基础监控和调度不够灵活。一方面,监控和调度是独立分离的。监控中观察到的数据非常多,但用于调度的数据却极其有限;另一方面,调度器的模式是固定的,使得Kubernetes默认的调度算法在实际业务应用中往往不能满足需求,企业或开发者无法方便的根据业务动态定制制定调度策略申请要求。因此,SpeedCloud试图在Kubernetes项目的基础上优化解决这些问题,并进行深入的扩展探索,开发了“Arbiter”开源项目。*仲裁者有什么特点?Arbiter简单易用,易于扩展,可以辅助调度和灵活性,可以自定义触发行为。同时,我们还提供开箱即用的插件供用户使用和二次开发。易用性:通过定义OBI模型,将监控、日志、链路数据转化为统一的指标。用户可以根据这些OBI数据触发自定义动作,如标签、告警等;我们还提供了“abctl”命令工具,可以方便快捷地查看和使用这些指标数据。易于扩展:我们将OBI注入到调度扩展框架中,用户可以使用Javascript编程语言配置自己的调度策略,大大降低了用户的心理门槛;用户可以根据OBI数据,根据节点的实际资源使用情况进行动态业务调度,提高资源的平均利用率。辅助调度和弹性:OBI也可以被弹性伸缩策略使用,比如HPA/VPA,为弹性伸缩相关的需求提供更多便利。自定义触发动作:基于OBI数据,允许触发自定义动作,辅助资源按策略自动标记,手动任务自动化。开箱即用:提供各种来自真实用户场景的开箱即用插件,支持各种需求,提供社区支持。*仲裁者做什么?1、通过OBI采集和展示各种可观察指标,支持metrics-server、prometheus等工具,可扩展支持集成更多监控、日志、链路数据;2、OBI内置多种示例指标,例如集群容量、系统资源使用情况、预留资源、实际资源使用情况;3.基于JS的调度扩展,实现根据节点实际资源使用情况进行调度,也可以通过定义CRD来自定义调度策略;4.根据资源敏感度和管理员定义的基线对pod/deployment/statefulset/service进行分类;5、服务和节点资源的超卖配置;6.提供命令行工具快速查看OBI统计信息;7、提供OBI适配器,通过采集指标与HPA的结合,实现更多服务维度的灵活策略;8、节点资源预留,通过调度,允许为部分节点预留一定的资源,以备不时之需;*开源地址:项目地址:https://github.com/kube-arbit...项目文档:http://arbiter.k8s.com.cn/zh-...极速云欢迎大家参与在Arbiter开源项目中提出有价值的想法(PR、Issue、ContributionStar等)~