作者:三少乾坤_943 | 来源:互联网 | 2023-08-07 15:13
Yelp对外开源其内部使用的集群伸缩系统Clusterman,原本该系统仅支持Mesos集群自动伸缩,而现在开始支持Kubernetes集群,通过自定义,以更积极主动的方法,控制集
Yelp 对外开源其内部使用的集群伸缩系统 Clusterman ,原本该系统仅支持 Mesos 集群自动伸缩,而现在开始支持 Kubernetes 集群,通过自定义,以更积极主动的方法,控制集群的伸缩。 使用者可以直接从GitHub 上下载该项目。
Yelp 采用全分布式且以服务为导向的基础设施,系统运行在由 Yelp 平台即服务的 PaaSTA 构成的云端之上。在今年二月的时候, Yelp 对外公开了内部新的集群管理器 Clusterman , Yelp 提到,在 Yelp 有不同的工作负载需要自动伸缩,例如网页服务等长期执行的任务、定期执行的批次任务、单元和整合测试以及机器学习等工作,每一个应用程序都有不同的使用模式以及容错等级,因此他们需要可以分别为这些内容自动伸缩的集群系统。
为此, Yelp 打造了他们第三个自动缩放器 Clusterman , Clusterman 起初仅支持 Mesos 集群, Apache Mesos 是一个集群管理工具,其抽象了集群服务器中的特定属性,让开发人员可以直接将集群视为一台大型的计算机,整合应用运算资源。 但现在Yelp 为了扩展基础设施,他们认为,最简单地方式就是把工作负载从 Mesos 搬迁到 Kubernetes ,因为 Kubernetes 能够执行在 Mesos 难以管理的工作负载,例如 Flink 、 Cassandra 、 Spark 和 Kafka 等。
另外, Yelp 也准备将所有现有的微服务和批次处理工作负载搬迁到 Kubernetes 上,而为了快速且方便地达成这个目标,他们让 Clusterman 支持 Kubernetes ,通过 PaaSTA 的抽象功能,可以无缝地进行工作负载搬迁。
Yelp 表示,在 Clusterman 增加 Kubernetes 的支持并不是困难的事,因为 Clusterman 采用模块化设计, Yelp 仅多定义了一个连接器类别,让连接器符合自动扩展器的需求。 与Clusterman 对 Mesos 的支持运行方法相似,连接器可与 Kubernetes API 进行通讯,撷取 Kubernetes 集群扩展的指标和统计数据,这些指标会被当作信号传递给自动扩展引擎,以决定增加或是减少运算资源。
与类似的系统 Auto Scaling for Spot Fleet 和 Kubernetes Cluster Autoscaler 相比, Clusterman 是唯一一个支持混合云端资源的自动缩放器解决方案,而且 Clusterman 的可插拔信息基础架构,让使用者可以自己编写任何类型的的缩放信号。
Yelp 提到,虽然 AWS Spot Fleet Autoscaler 或 Kubernetes Cluster Autoscaler 已可符合大多数的 Kubernetes 使用案例,但是 Clusterman 可以让使用者更积极主动地准备运算资源。 Yelp 举例,他们内部使用了 Jolt 作为单元和整合测试的工具, Jolt 集群每天会执行数百万个测试,具有可预测的工作量,他们在 Clusterman 编写自定义信息,可以在 Pod 进入等待状态之前,就对集群进行缩放,大幅降低开发者执行测试的等待时间。
参考:
https://engineeringblog.yelp.com/2019/11/open-source-clusterman.html
https://www.ithome.com.tw/news/134265
https://github.com/Yelp/clusterman
END
Kubernetes CKA线下班