CODING 快速迁移 Zadig 完全行动指南

针对 CODING 公有云用户迁移至 Zadig 私有化部署的场景,我们基于首批用户的实战经验,编制了本指南。

针对 CODING 公有云用户迁移至 Zadig 私有化部署的场景,我们基于首批用户的实战经验,编制了本指南。 指南涵盖前提配置、Zadig 安装部署及应用托管全流程,提供可复用的操作框架与工具支持。建议技术团队优先参照指南自主执行迁移,过程中遇到的问题可在社群同步,我们将结合反馈持续优化指南内容。

# 前提配置

  1. 选用企业自主可控的代码仓比如 GitLab,完成源代码迁移
  2. 梳理 CODING「持续集成」中的构建配置备用
  3. 梳理 CODING「持续部署」中的服务模板备用
  4. 安装 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 集群和命名空间

# 第四步:配置构建和工作流

  1. 添加构建。项目-服务-添加构建,并配置对应服务构建

说明:

  1. [根据实际情况配置]自定义镜像:自定义镜像管理 | Zadig 文档 (opens new window)
  2. [根据实际情况配置]软件包依赖:软件包管理 | Zadig 文档 (opens new window)
  3. 代码信息:选择服务对应代码库(之前配置的 GitLab 代码仓)
  4. 构建脚本:使用 CODING「持续集成」中的构建配置

高阶配置参考:

  1. 配置工作流。配置 开发工作流、测试工作流、发布工作流。工作流配置参考如下:

    1. 开发工作流:构建 -> 部署 dev
    2. 测试工作流:构建-> 部署 qa
    3. 发布工作流:部署 prod

高阶配置参考:

# 第五步:权限配置

通过配置角色权限,项目详情页面点击 配置 -> 权限 ,可以清晰管理不同角色的权限和审计

# 工程师如何使用 Zadig

进入环境页面可以查看服务基本信息、服务状态、资源信息

进入服务详情页面可以查看服务入口、切换服务镜像、调整副本、查看实时日志、登入容器做 Pod 调试等。

执行开发、测试工作流实现日常变更

执行发布工作流实现自动化生产发布

Zadig 托管项目屏蔽集群背后的复杂度,使得组织的业务边界更加清晰明确、服务更新的过程也清晰可追溯、权限得到有效管理。一线开发者通过接入 Zadig 获得流畅的软件开发体验,可以更多的关注创新和业务迭代。

# 第二阶段:托管转全管,应用全生命周期在 Zadig 上管理

# 托管项目切换 K8s YAML 项目

用户可根据需要将现有托管项目一键切换为 K8s YAML 项目。

进入对应托管项目,点击 切换项目类型,完成项目类型切换。

# 梳理服务配置

贴入 CODING 上的服务模板,实现多环境共享一份服务配置,简化后续运维成本。

高阶配置:

  1. K8s YAML 配置管理:Zadig 简化 K8s YAML 配置管理,实现上千微服务自动化运维 | KodeRover | 博客 (opens new window)
  2. K8s YAML 多环境配置:揭秘 Zadig 多环境配置最佳实践 - K8s YAML 篇 | KodeRover | 博客 (opens new window)

# 小结

随着更多迁移用户的不断加入,我们会持续收集反馈、补充场景细节,让指南内容更贴合实际需求 —— 您在迁移中遇到的问题、总结的技巧,都可能成为指南迭代的重要参考。

最后,衷心预祝每一位使用者迁移顺利,快速完成从 CODING 到 Zadig 的平滑过渡,在私有化部署的 DevOps 实践中收获更高效、更灵活的研发体验!

Background Image

作为一名软件工程师,我们一直给各行各业写软件提升效率,但是软件工程本身却是非常低效,为什么市面上没有一个工具可以让研发团队不这么累,还能更好、更快地满足大客户的交付需求?我们是否能够打造一个面向开发者的交付平台呢?我们开源打造 Zadig 正是去满足这个愿望。

—— Zadig 创始人 Landy