Zadig on Github

Zadig on Gitee

锅圈如何利用 Zadig 从容落地运维容器化建设

本文作者:前锅圈运维工程师 杨笛

从事运维作业八年,有丰富的云上架构规划和运维经验:阿里云、AWS、百度云,小米云。有丰富的容器运维经验。目前正在寻找新的作业时机,如有意向请联络专用邮箱:mokocloud@163.com

背景介绍

锅圈食汇是火锅烧烤食材超市品牌,是火锅烧烤食材社区零售模式。锅圈食汇以火锅、烧烤食材为主,涵盖休闲零食、生鲜、净菜、饮食、小吃等产品的便利店连锁体系;以互联网+食材的 B2B、B2C 运转模式,线下门店与线上商城并行。

锅圈食汇为广阔中小型餐饮企业供给 B 端食材供给,又服务了“宅、急、忙、懒、老”消费者。咱们的体系既有 C 端也有 B 端,在快速发展的进程中,许多环境的办理也成为研制的一大挑战。

从 2021 年末开端,锅圈开端从传统部署方法向容器化转型,在调研的进程中选中了 Zadig 作为容器化推行进程中的环境管理工具。

痛点分析

在搬迁容器前,咱们面临许多运维痛点:

  • 环境办理复杂度高:因为迭代发展需要,存在 dev、test、uat、intg、pet、pre、prod 等许多环境,发布进程办理费时吃力
  • 运维标准化难以推动:在快速发展进程中存在混部和装备不标准的问题,简单导致事务风险
  • 运维本钱高:多环境占用较多机器资源,形成本钱上的压力

而采用容器化模式,多环境运用能够混合部署,更小的核算开销也就意味着更低的总体本钱,资源能够更加高效的运用。一起能够落地标准化的流程和环境装备,来支撑团队日益增长的持续部署与测验需求。容器化还能够屏蔽底层的渠道,实现多云环境下的跨渠道支撑。

技术计划思考

那么如安在不影响现有开发周期的情况下进行容器化改造?

针对这个问题,咱们运维团队联合架构团队,商讨了一系列的处理计划,一期容器化工程在尽量坚持原有架构的情况下让运用平滑搬迁至容器环境。保存原有注册中心和网关不变,运用 Podip 进行注册并将 Pod 和原服务器的网络打通,这样能够逐渐搬迁运用的一起,已上容器的运用和未上容器的运用也能够坚持原有架构正常通信。

关于工具的选型

在调研了多种环境管理工具后,最终选择了 Zadig。

Zadig 关于咱们来说有如下优势:

  1. 界面友好,推行给研制测验运用时能够简单上手,且能够捕获容器控制台日志,研制测验人员能在Zadig 控制台上方便快捷的检查日志。
  2. 能快速集成 LDAP,Jenkins,华为云 OBS 等体系,减少了搬迁进程中的改形本钱。
  3. 集群化部署,安稳性有保证,支撑并发构建,可大幅度提高构建功率。

实践 Zadig 的途径

第一步:咱们先将 Dev 开发环境切换至容器,运用发布方法将原有的发布包改为发布镜像

第二步:因为本来运用的是 Jenkins,为了实现快速集成和搬迁,咱们采用了 Zadig + Jenkins 的计划 ,快速实现从传统发布方法到容器化发布方法的改变。

锅圈如何利用 Zadig 从容落地运维容器化建设

第三步:运用 Zadig 集成打通原有 Git 库房,OBS,镜像库房,LDAP 和 Jenkins,只需装备作业流即可快速实现运用部署到 K8s 集群内。其间集成 Git 库房能够快速拉取代码、发布脚本进行发布;集成华为云 OBS 存储贮存编译生成的程序包制品;运用 LDAP 集成实现用户办理;和 Jenkins 集成快速覆盖原有发布流水线,减少构建的调试时刻。

最终,分项目组逐一推行:当时的战略是保证事务安稳前提下将运用逐一搬迁至容器环境,搬迁前也会做好相关装备准备,确保不影响原有程序开发测验周期、现有环境的安稳性,一起不对当时架构做大修大改,快速将运用搬迁至容器环境,享受容器化带来的优势。

截至目前运用 Zadig 已完成了 5 个项目组容器化改造,2 条事务线用上 Zadig,其他项目陆续接入中。

锅圈如何利用 Zadig 从容落地运维容器化建设

未来展望

目前锅圈还在将开发测验环境搬迁至容器环境的阶段,已初见成效。

非常感谢 Zadig 小伙伴一路以来的支撑,遇到问题及时处理。

后续咱们也会持续运用 Zadig 作为管理渠道辅佐其他环境的搬迁,完成研制的容器化落地。

Zadig,让工程师更专心发明!欢迎加入开源吐槽群

Zadig on Github

Zadig on Gitee