本文主要介绍如何使用 Zadig 环境托管能力,让开发过程更顺畅。
我们都知道,服务的容器化消除了线上线下的环境差异,保证了应用生命周期的环境一致性标准化,为软件交付提供了诸多好处。但上了容器以后研发过程中使用测试环境却存在诸多不便。环境的不透明,导致联调测试过程诊断问题困难;而原生 kubectl 方式操作繁琐,调试服务不方便等等。
Zadig 可以通过托管项目解决以上问题,并且对现有集群无任何的侵入性,平滑实现云原生 DevOps 开发模式。不同业务线可以清晰的管理所属的服务,开发者也可以方便的对服务进行查看、管理和更新,比如服务查看、Pod Debug、实时日志等。原理如下:

下面以 host-microservice-demo 项目为例来演示。该项目的基本情况简述如下:
如果你完全依照本教程进行托管的实践:
cd {microservice-demo 所在的目录}/k8s-yaml/backend && kubectl -n microservice apply -f .
cd {microservice-demo 所在的目录}/k8s-yaml/frontend && kubectl -n microservice apply -f .
系统管理员进入 Zadig 系统,点击新建项目 -> 填写项目名称 host-microservice-demo -> 选择 K8s 托管项目 -> 点击立即创建。


创建项目后,进入产品交付向导的第一步,配置环境托管环节。

说明如下:
环境名称:填写环境名称,方便阅读有意义即可,此例中为 dev镜像仓库:选择镜像仓库K8s 集群:待托管管理的服务所在的 K8s 集群K8s 命名空间:待托管管理的服务所在的命名空间,此例中为 microservice-demo-env-dev选择服务:勾选要托管的服务(frontend + backend)并通过穿梭框点击下一步,进入配置服务构建步骤。
frontend 服务,点击添加构建:

#!/bin/bash
set -e
cd zadig/examples/microservice-demo/frontend
docker build -t $IMAGE -f Dockerfile .
docker push $IMAGE

#!/bin/bash
set -e
cd zadig/examples/microservice-demo/backend
make build-backend
docker build -t $IMAGE -f Dockerfile .
docker push $IMAGE
下一步,系统会自动创建 1 条工作流用于对托管服务做持续变更,点击完成结束对 dev 环境的托管配置。
创建托管环境成功后,进入项目的环境页面,就可以看到 dev 环境下的所有服务基本信息,如下图所示:

点击具体的服务进入详情页,可以对被托管服务进行更新,包括重复服务实例、切换服务镜像、调整服务副本数量;还可以查看/搜索服务实时日志、登入服务容器中进行调试等等。



执行,选择环境和服务后启动任务:


Git 触发器配置并保存对工作流的修改:

Details 链接可快速跳转到触发的工作流

