作者:汪勋
摘要:应用Sealer的政采云私有化业务交付实践
分享人:汪勋,sealer maintainer,政采云技术专家,拥有多年云原生实践经验,具备丰富的大型私有化项目交付实践经验。
目录:
• 业务私有化交付之痛
• 交付系统的升级之路
• Sealer实践与社区协作
一、业务私有化交付之痛
1. 业务背景介绍
• 政采云的业务主要是专注服务于政企采购的云服务平台,业务主要面向政府和大型企业;
• 具有较多的私有化部署项目;
• 业务组件300+,800+ CPU核心 2000G +内存;
• 交付依赖:30G+
2. 交付痛点
在业务私有化之前,政采云业务都是建立在公有云上,基础设施稳定并可控,但转为私有化以后,政府基于数据安全考虑对网络和基础设施都有一定的限制,导致在交付过程中遇到很多困难和问题:
• 交付环境复杂,不可控;
• 交付涉及任务太多,碎片严重,交付完总有遗漏事项;
• 差异化的版本、配置导致ansible的方式成本很高。
下图是最初第一版私有化业务交付系统的架构,使用ansible方式的问题是ansible只解决交付过程而不关心交付依赖。
二、交付系统的升级之路
与Sealer社区的合作有效的解决了以上的问题,实现交付系统的升级。
1. 升级演进
a. 初级阶段
每个人负责一部分任务的部署和交付,交叉引发的问题导致沟通成本很高。
b. 中级阶段
经过任务分解,负责人按照统一的标准定制任务的部署脚本。因为差异化需要,一些逻辑不能复用,交付前需要修改脚本做适配。
c. 目前阶段
通过标准化部署规格、部署逻辑和部署依赖,利用Sealer进行打包并一体化交付。一套逻辑,通过编排和配置渲染来应对差异化需求,产出一键安装包。
2.Sealer的亮点功能
a. 编排定义:简单而不失强大
FROM kubernetes:1.19.9 COPY helm /bin RUN wgethttps://cai-inc.com/repo.tar.gz CMD helm install app app-chart CMD helmlist
b. 镜像缓存
• 基于文本镜像清单自动打包;
• 多仓库镜像代理;
• 多域名镜像缓存能力;
更多的Sealer亮点功能还包括:集群证书自动是100年无需担心证书过期或额外配置;API Service实现高可用无需用户做额外配置等。
3.交付架构升级
下图是交付系统升级后的架构,以Sealer为核心,通过编排渲染产出集群镜像,其中包括交付环境的所有依赖,实现纯离线场景下的业务交付。
4.优化成果
以最近的一次业务交付的情况为例,使用Sealer的优化成果很显著,有效节省了沟通成本。
a. 交付准备:1周→1天
b. 部署耗时:3天→2小时
c. 交付门槛:复杂→简单
三、Sealer实践与社区协作
1. 社区协作
通过与Sealer社区合作,感受到开源的最大魅力就是可以群策群力,以更低的成本高质量的完成复杂、高难度、高成本的事情。
2. 对Sealer未来的期望
随着对数据安全和隐私越来越高的需求,私有云逐渐抢占公有云市场,私有化业务也会随之迅速增长。
针对目前使用Sealer的一些经验,对Sealer社区提出以下期望:
a. 生态建设:围绕业务交付的中间件、存储等依赖提供一整套的解决方案;
b. 管理功能强化:管理控制台、API;
c. 使用体验的持续优化:还存在一些待改进的地方;
d. 社区建设:吸引更多的伙伴和场景。