背景与动机
目前随着云原生技术和云市场的不断成熟,越来越多的 IT 厂商开始投入到跨云多集群的怀抱当中。以下是 flexera 在 2023 年中关于云原生市场对多云多集群管理的接受程度的调查报告(http://info.flexera.com)

从 flexera 的报告中可以看出,目前在整个云原生市场中已经有超过 87% 的企业正在同时使用多个云厂商的服务,其中使用单一公有云和单一私有云的仅占13%。而其中使用了多云部署的厂商中则有 15% 的用户选择了多公有云或多私有云部署,而采用了混合云部署的用户比例则达到了 72%。这些统计数据都从侧面反映了云原生技术和云市场的不断成熟,未来将会是编程式多云管理服务的时代。
除了外部趋势以外,单一集群下的局限性也成为了推动用户拥抱多云多集群管理的一个内在动力。单集群部署的局限性包括但不限于:
- 单点故障,难以容忍集群级别的故障,小的集群联邦优于大的 K8s 集群
- 单集群的边界限制,例如一个 Node 默认只有 110 个 Pod,一个集群最多容纳 5000 个 Node
- 业务层面上的发展需要,例如 Xline 本身作为一款跨集群的分布式键值存储
- ....
Karmada 作为一款开源的多集群管理工具,已经被 Shopee、DaoCloud 等公司应用在了生产环境中。但由于 Karmada 目前缺少对有状态应用管理的支持,因此应用实践上主要还是以无状态应用的管理为主。
为了更好地应对未来多云多集群管理的趋势,在多云多集群场景下更好地管理有状态应用,Xline 和 Karmada 社区成立了工作小组,共同推进 Karmada 对有状态应用管理的支持。
Karmada 管理有状态应用存在哪些挑战?
要理解 Karmada 在多集群下管理有状态应用之前,我们需要先回顾一下 K8s 在单集群下管理有状态应用的实现。
早在 2012 年的时候,Randy Bias 就 “开放和可扩展云架构”进行了有影响力的演讲。在那次演讲中,他提出了 “宠物模式”与 “家畜模式”。

这两种模式分别对应了应用的无状态和有状态。其中,对于家畜模式而言,他们不需要有特定的名字,个体与个体之间也不存在本质的区别,因此,当其中的某个个体出现问题时,我们往往可以直接使用另外一个个体来代替它。而对于宠物模式来讲,每个个体都需要有一个特定的名字(标识符),每个个体都是独一无二的,因此当其中的某个个体出现了问题时,你需要进行特殊的照顾,以便帮助它恢复健康。
而 K8s 在 1.5 版本中首次引入了 StatefulSet 这一 API 对象,并在 1.9 版本中稳定可用的状态。目前已经被广泛应用于运行有状态应用。它为所管理的 Pod 提供了固定的 Pod 身份

文章探讨了云原生市场中多云多集群管理的流行趋势,Flexera的报告显示87%的企业使用多个云服务。Karmada和Xline合作解决在多集群环境下有状态应用管理的问题,包括跨集群一致性、全局顺序保证等。Xline社区会议将详细介绍进展和未来的开发方向。
最低0.47元/天 解锁文章
508

被折叠的 条评论
为什么被折叠?



