针对 CODING 公有云用户迁移至 Zadig 私有化部署的场景,我们基于首批用户的实战经验,编制了本指南。 指南涵盖前提配置、Zadig 安装部署及应用托管全流程,提供可复用的操作框架与工具支持。建议技术团队优先参照指南自主执行迁移,过程中遇到的问题可在社群同步,我们将结合反馈持续优化指南内容。
# 前提配置
- 选用企业自主可控的代码仓比如 GitLab,完成源代码迁移
- 梳理 CODING「持续集成」中的构建配置备用
- 梳理 CODING「持续部署」中的服务模板备用
- 安装 Zadig :使用 Helm 工具 | Zadig 文档 (opens new window)
# 第一阶段:托管现有应用,无侵入快速接入 Zadig
Zadig 托管服务:零侵入、零重启,业务无忧升级!
🚀 无需改造现有服务:Zadig 采用无侵入式托管,现有架构无缝接入。
⏱️ 服务持续在线:托管全程零重启,业务流量不受影响。
以下是 Zadig 接管 CODING 应用及环境的工作原理简要介绍:
# 管理员迁移 Coding 项目至 Zadig
# 第一步:配置集成腾讯云 TKE K8s 集群
集成已有的 K8s 集群到 Zadig 系统
点击 资源配置
-> 集群管理
,添加集群:
执行 Agent 安装脚本
# 第二步:创建托管项目
- 新建项目,选择
K8s 托管项目
。
# 第三步:按需配置集成环境
# 创建 Dev 环境
- 设置目标环境名称:dev,选择要托管的 K8s 集群和命名空间
- 选择需要被托管管理的服务后,点击下一步。
# 创建 Qa 环境
进入环境,点击新建环境
设置环境名称:qa,选择 K8s 集群和命名空间
# 创建 Prod 环境
进入环境,点击新建环境
设置环境名称:prod,选择 K8s 集群和命名空间
# 第四步:配置构建和工作流
- 添加构建。项目-服务-添加构建,并配置对应服务构建
说明:
- [根据实际情况配置]自定义镜像:自定义镜像管理 | Zadig 文档 (opens new window)
- [根据实际情况配置]软件包依赖:软件包管理 | Zadig 文档 (opens new window)
- 代码信息:选择服务对应代码库(之前配置的 GitLab 代码仓)
- 构建脚本:使用 CODING「持续集成」中的构建配置
高阶配置参考:
配置工作流。配置 开发工作流、测试工作流、发布工作流。工作流配置参考如下:
- 开发工作流:构建 -> 部署 dev
- 测试工作流:构建-> 部署 qa
- 发布工作流:部署 prod
高阶配置参考:
# 第五步:权限配置
通过配置角色权限,项目详情页面点击 配置
-> 权限
,可以清晰管理不同角色的权限和审计
# 工程师如何使用 Zadig
进入环境页面可以查看服务基本信息、服务状态、资源信息
进入服务详情页面可以查看服务入口、切换服务镜像、调整副本、查看实时日志、登入容器做 Pod 调试等。
执行开发、测试工作流实现日常变更
执行发布工作流实现自动化生产发布
Zadig 托管项目屏蔽集群背后的复杂度,使得组织的业务边界更加清晰明确、服务更新的过程也清晰可追溯、权限得到有效管理。一线开发者通过接入 Zadig 获得流畅的软件开发体验,可以更多的关注创新和业务迭代。
# 第二阶段:托管转全管,应用全生命周期在 Zadig 上管理
# 托管项目切换 K8s YAML 项目
用户可根据需要将现有托管项目一键切换为 K8s YAML 项目。
进入对应托管项目,点击 切换项目类型
,完成项目类型切换。
# 梳理服务配置
贴入 CODING 上的服务模板,实现多环境共享一份服务配置,简化后续运维成本。
高阶配置:
- K8s YAML 配置管理:Zadig 简化 K8s YAML 配置管理,实现上千微服务自动化运维 | KodeRover | 博客 (opens new window)
- K8s YAML 多环境配置:揭秘 Zadig 多环境配置最佳实践 - K8s YAML 篇 | KodeRover | 博客 (opens new window)
# 小结
随着更多迁移用户的不断加入,我们会持续收集反馈、补充场景细节,让指南内容更贴合实际需求 —— 您在迁移中遇到的问题、总结的技巧,都可能成为指南迭代的重要参考。
最后,衷心预祝每一位使用者迁移顺利,快速完成从 CODING 到 Zadig 的平滑过渡,在私有化部署的 DevOps 实践中收获更高效、更灵活的研发体验!