跳转到文档内容

· 阅读需要 1 分钟

摘要

随着云原生技术在越来越多的企业和组织中的大规模落地,如何高效、可靠地管理大规模资源池以应对不断增长的业务挑战成为了当下云原生技术的关键挑战。 在过去的很长一段时间内,不同厂商尝试通过定制Kubernetes原生组件的方式扩展单集群的规模,这在扩大规模的同时也引入了复杂的单集群运维、不清晰的集群升级路径等问题。 而多集群技术能在不侵入修改Kubernetes单集群的基础上横向扩展资源池的规模,在扩展资源池的同时降低了企业的运维管理等成本。

在Karmada的大规模落地进程中,Karmada的可扩展性和大规模逐渐成为社区用户的新关注点。 因此,我们对Karmada开展了大规模环境下的测试工作,以获取Karmada管理多个Kubernetes集群的性能基线指标。 对于以Karmada为代表的多集群系统而言,单集群的规模不是制约它的资源池规模的限制因素。 因此,我们参考了Kubernetes的大规模集群的标准配置和用户的生产落地实践,测试了Karmada同时管理100个5k节点和2wPod的Kubernetes集群的用户场景。 受限于测试环境和测试工具,本次测试并未追求测试到Karmada多集群系统的上限,而是希望能覆盖到在生产中大规模使用多集群技术的典型场景。 根据测试结果分析,以Karmada为核心的集群联邦可以稳定支持100个大规模集群,管理超过50万个节点和200万个Pod,可以满足用户在大规模生产落地的需要。

在本文中,我们将介绍用于测试的相关指标,如何进行大规模测试,以及我们如何实现大规模的集群接入。

背景

随着云原生技术的不断发展和使用场景的不断丰富,多云、分布式云逐渐成为引领云计算发展的趋势。著名分析公司Flexera在2021的调查报告显示,超过93%的企业正同时使用多个云厂商的服务,一方面受限于Kubernetes单集群的业务承载能力和故障恢复能力,单一的集群无法适应现有的企业业务,另一方面,在全球化的当下,企业出于避免被单家厂商垄断的目的,或是出于成本等因素考虑,更倾向于选择混合云或者多公有云的架构。 与此同时,Karmada社区的用户在落地的进程中也提出了多集群下大规模节点和应用管理的诉求。

· 阅读需要 1 分钟

Karmada是开放的多云多集群容器编排引擎,旨在帮助用户在多云环境下部署和运维业务应用。凭借兼容Kubernetes原生API的能力,Karmada可以平滑迁移单集群工作负载,并且仍可保持与Kubernetes周边生态工具链协同。

在最新发布的1.3版本中,Karmada重新设计了应用跨集群故障迁移功能,实现了基于污点的故障驱逐机制,并提供平滑的故障迁移过程,可以有效保障服务迁移过程的连续性(不断服)。

本版本新增加的特性:

  • 增加了面向多集群的资源代理新特性,通过该代理平台业务方可以在不感知多集群的情况下,以单集群访问姿势直接操纵部署在多集群的工作负载;
  • 提供针对集群资源建模能力,通过自定义的集群资源模型,调度器可以更精准地进行资源调度;
  • 提供基于Bootstrap令牌来注册Pull模式集群的能力,不仅可以简化集群注册过程,还可以方便地进行权限控制;

此外,基于生产环境的用户反馈,本版本还进行了诸多性能优化,系统运行过程中CPU和内存资源需求大大降低,详细的性能测试报告稍后发布。

与之前版本一样,v1.3与前面的版本仍然保持兼容,前面版本的用户仍可以平滑升级。

· 阅读需要 1 分钟

In terms of multi-cluster management, Industrial and Commercial Bank of China (ICBC) found a new way to do it efficiently, that is, using Karmada. At KubeCon 2021, Kevin Wang from Huawei Cloud and Shen Yifan from ICBC shared how they managed it.