eggo 助力中国移动磐基PaaS平台

2021/12/08 23:25
阅读数 60

项目简介

eggo 是 openEuler CloudNative SIG 组提出的 K8S 集群自动化部署方案,具备如下优点:

  • 使用简便:在线模式只需根据配置模板编写配置文件即可,离线模式一次制作离线包即可重复使用;
  • 多架构混部:支持一个集群包含多种架构的节点,例如 master 使用 X86 机器,node 节点使用 arm 机器;
  • 多种部署模式:支持二进制部署方式(K8S 关键组件全部以 systemd 管理运行),支持 pod 方式运行;
  • GitOps 管理:支持对接 GitOps,实现云原生方式的集群管理集群;

项目总体架构如下:


总而言之:

  • eggo如母鸡,集群似egg,一键式、轻量化、可配置完成集群部署。
  • 3分钟拉起,1分钟销毁,如测试集群环境的随时创建、随时销毁。
  • eggo助力下,容器可以扩缩容,集群也可以扩缩容。

背景介绍

社区背景

Kubernetes 集群部署是云原生的基石,而 openEuler 云原生社区还没有集群部署方案,而当前开源的集群部署方案很难满足云原生社区多样化的需求,例如多部署模式、在线和离线部署方式、集群支持多种架构、可跟踪的集群配置管理等等。为了 openEuler 云原生社区更好的发展,社区提出了 eggo 解决方案应对社区多样化的需求。

移动需求背景

中国移动磐基 PaaS 平台是由中国移动自主研发的 PaaS 平台,作为智慧中台的统一技术底座,基于“云原生”架构构建,致力于为全集团 B/O/M 三域的应用系统提供全套的云上服务。平台为用户提供了包括多集群管理,应用统一部署编排,弹性扩缩容,组件管理,微服务管理,运维监控等全方位的平台能力。

磐基 PaaS 平台可以实现应用秒级的弹性伸缩和分钟级的容灾切换,让应用的部署发布和运行监控变得更加简单、可控、可靠,但是针对底层集群资源的部署、扩容、回收,我们发现很多环节仍需手工参与,这使得从租户申请集群,到最终集群被交付到租户手中,以及集群维护的整个过程变得不可控。因此,如何提升集群部署的时效、解决针对集群的自动化操作管理,就变成了一个急需解决的问题。

为了解决这个问题,要能够满足集群的自动化快速部署、弹性伸缩等需求,需要一套灵活、易用、用户友好的 K8S 集群快速部署解决方案。

联创成果

社区项目进展

当前 eggo 部署集群的能力已具备商用条件,目前完成如下功能:

  • 支持集群多架构部署
  • 支持二进制部署模式
  • 支持在线和离线部署方
  • 支持集群生命周期管理
  • 集群管理集群已发布 alpha 版本

联创落地效果

目前,eggo 集群自动化部署已经在中国移动磐舟一体化开发交付平台上实践和应用,为内部业务系统的研发测试域提供服务。通过应用 eggo 的集群自动化部署能力,业务系统研发团队通过页面自助申请资源,集群即时开通,到期自动回收;结合 GitOps 能力,在集群自动部署的同时,将集群内需要的业务应用、环境配置、网络配置,以声明式 yaml 文件的方式快速复制,最终达到研发测试环境“即用即分配、用完自动回收”的效果,极大提升业务系统基于云原生的开发测试效率。

在磐基 PaaS 平台未来的发展方向中,这种集群资源的自动部署伸缩能力,再结合 Serverless 函数计算的能力,便可以根据访问流量的增减或者具体服务事件的触发(例如业务流量波峰波谷、消息系统事件通知),实现应用服务和集群节点资源自动弹性扩缩容,从而显著提升资源利用率,且能够极大减少针对底层资源的运维难度和工作量。

在 11 月 9 日至 10 日于北京国家会议中心召开的操作系统产业峰会 2021&openEuler Summit 2021,eggo 技术开发团队与中国移动信息技术中心一起分享展示了 eggo 联创项目的进展情况与落地效果。在生态多样性场景演示环节,中国移动信息技术中心 PaaS 研发团队演示了磐基 PaaS 平台基于 openEuler Eggo 工具,研发的大规模 K8S 集群自动化部署功能。通过结合 GitOps 能力,管理和跟踪部署配置,实现以云原生的方式按需一键部署集群。同时,支持异构集群的混合部署,能够支撑业务系统相对平稳地实现从 X86 到国产化 ARM 环境的迁移过渡。

总结展望

eggo 当前具备集群的部署能力和集群管理集群的基本能力,而且从落地效果可以看出 eggo 确实解决了当前云原生的部分诉求,也为后续发展打下了坚实的基础。后续我们将持续在云原生方向优化创新,为 openEuler 社区做出更大的贡献。

社区后期规划

为了更好地满足客户和社区的需求,后期社区将持续改善易用性和完善需求功能:

  • 支持 kubeadm 部署模式

  • 对接 karmada,一键部署 karmada 以及新增集群被 karmada 自动接管的能力
  • 完善云原生的集群管理方案
  • 持续优化易用性

最后,希望更多的参与者能够参与到欧拉开源社区,贡献社区的同时也提高自己的能力。

主要贡献者

姓名 公司 Gitee id 邮箱
赵松海 中国移动 zsh9064 zhaosonghai@chinamobile.com
周颖 中国移动 xiaoyingzi_1_0 zhouyingit@chinamobile.com
张晓雨 华为 zh_xiaoyu zhangxiaoyu58@huawei.com
刘昊 华为 duguhaotian liuhao27@huawei.com
王丰土 华为 wangfengtu wangfengtu@huawei.com




本文分享自微信公众号 - openEuler(openEulercommunity)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部