在参加 KubeCon 大会期间,我也聆听了其他演讲者的分享,其中,多集群管理(Multi-Cluster)是我比较关心的话题。事实上,本次大会的许多议题都聚焦在人工智能上,多集群领域也同样如此。因此我重点关注了这方面的演讲。在这些演讲中,有几个议题特别引起了我的兴趣。
演讲主题:
JD Cloud's Large-Scale Serverless Practice : APP Management and Elastic Scaling on Karmada
XiaoFei Wang 在本场演讲中主要介绍了,京东云中的联邦无状态服务基于联邦管理模型和无状态服务应用模型,为联邦应用容器部署、弹性扩展和故障迁移提供保障。它统一管理了超过 10,000 个节点的多集群,提高了整体资源利用率,并且减少了平台上多集群管理、调度和分发的复杂性。
他重点讲解了两个关键场景:跨集群调度和跨集群弹性伸缩。
在跨集群调度方面,京东云基于 Karmada 的 多集群编排能力,开发了包括 FedKService 在内的多个控制器,结合 Hippo 服务进行资源精准测算并形成资源画像。Karmada 会根据这些画像和调度策略,实现副本的跨集群分配。
跨集群弹性伸缩则增强了 Karmada 的功能,这个场景主要包括三种模式:自动弹性伸缩、None 和人工部署。自动弹性伸缩模式默认启用,只负责调整副本数量,不涉及镜像版本、环境变量或配置文件的更新,启用该模式时会禁用人工部署模式。而人工部署模式启用时,则会禁用自动弹性伸缩模式,以此防止手动调整的副本数被自动更改。此外,None 模式则是一种无操作状态,主要用于隔离场景,会同时禁用自动弹性伸缩和人工部署两种模式。
演讲主题:
Multi-Cluster Networking and Service Discovery Leveraging NRI
目前业界有几种多集群网络互通方案,例如 Submariner ,但是这些方案都有一些缺点,诸如需要公共 IP ,预先规划不冲突的 CIDR,CNI(容器网络接口)兼容性差等。
在本场演讲中,Lingming Xia 和 Di Xu 针对这些问题提出了一种多集群网络的解决方案 。开发者基于节点资源接口(NRI)建立了一个独立且统一的跨集群东西向流量网络,以避免对集群的侵入性修改和对 CNI 的限制。这个方案还涉及到集群间流量,成员集群可以通过具有公共 IP 的中心集群进行相互通信。这一方案宣称与所有 CNI 插件兼容,支持 Pod CIDR 重叠,非侵入式网络配置等。
其核心原理是通过 NRI 给 Pod 注入了一个 CNF 的虚拟网卡,所有成员集群中的 Pod 的跨集群流量都经过这个 CNF 的虚拟网卡来实现。
演讲主题:
Boundaryless Computing: Optimizing LLM Performance, Cost, and Efficiency in Multi-Cloud Architecture
Kai Zhang 和 Jian Zhu 在演讲中首先抛出了他们遇到的一系列的问题,例如:大模型的参数量越来越大导致推理服务启动非常缓慢,反复从远程存储中提取模型会迅速推高带宽成本等问题。为了解决这些问题,他们通过 OCM 的多集群应用部署能力和 Fluid 的数据编排能力,自动化实现推理应用的多地区分发,促进了大模型的跨地区分发和预热,以此来提高模型部署的效率。
这个解决方案核心原理是利用 OCM 的多集群分发能力,将 Fluid 分发到多个成员集群中, 在这个过程中,Fluid 可以加速模型加载的速度,提前对数据进行预热,并且提供任务与数据的亲和性。这些特性能给 AI 模型训练和推理带来大大的提升。如上图所示,他们介绍了一个用户案例,这里利用 Fluid 将 AI 训练速度提高了 30% 以上,将大模型推理的冷启动延迟降低 85%。
演讲主题:
Connecting the Dots: Towards a Unified Multi-Cluster AI/ML Experience
目前业界有多个多集群编排方案,例如 Karmada/Fleet/OCM 等开源项目,但是对于用户来说,这也导致缺乏一个统一的使用体验。因此社区目前希望能够为开发者提供统一、标准化的多集群管理体验,同时又能最大程度地保留各个方案在多集群管理问题上的独特视角。因此社区最新提出了一个新的 API - ClusterProfile.
在这个演讲中,Qing Hao 和 Chen Yu 主要展示了如何借助 Sig Multi-Cluster 最新提出的 API - ClusterProfile,目前这个 API 主要作用有 集群状态监控、签证签发(讨论中)等特性。他们演示了如何通过 ClusterProfile API 去自动化 MultiKueue 设置。MultiKueue 是 Kueue 项目中面向多集群作业调度的一个 API(Kueue 是由「DaoCloud 道客」深度参与的作业队列项目)。如上图所示。通过这些调整,用户可以先使用 OCM/Fleet/Karmada 的高级编排功能,再通过 MultiKueue 智能地将人工智能/机器学习训练任务分布到集群中,以最大化资源利用率,从而节省成本。
从上面几个分享中可以看出,Multi-Cluster 方向正在与 Kubernetes 生态中的其他社区更加紧密地结合,帮助更多用户有效地利用多集群资源,并最大化地提升资源的利用率。
本文作者
现任「DaoCloud 道客」云原生开发工程师
热门推荐
访问以下网址,或点击文末【阅读原文】立即体验
DaoCloud 公司简介
网址:www.daocloud.io
邮件:info@daocloud.io
电话:400 002 6898