Zadig v1.18.0 文档
  • 快速入门

    • 什么是 Zadig
    • 核心概念
    • 快速安装
    • 第一个项目
    • 接入准备
  • 安装与配置

    • 安装简介
    • All in One 模式
    • 使用 Sealos 一键安装
    • 基于 Helm 命令安装
    • 基于现有 Kubernetes 安装
    • 本地安装
    • 兼容性列表
  • 最佳实践
  • 项目

    • 项目

      • 项目介绍
      • K8s YAML 项目
      • K8s Helm Chart 项目
      • K8s 托管项目
      • 主机项目
      • 权限管理
    • 工作流

      • 简介
      • 产品工作流
      • 自定义工作流
      • 工作流任务
      • 工作流审批
      • 工作流通知
      • 工作流触发器
    • 环境

      • K8s YAML 环境
      • K8s Helm Chart 环境
      • K8s 托管环境
      • 主机环境
      • 服务详情
    • 服务

      • 简介
      • K8s YAML 测试服务
      • K8s Helm Chart 服务
      • K8s 托管服务
      • 服务组件
      • 服务变量
      • 主机服务
    • 构建
    • 测试
    • 代码扫描
  • 模板库

    • K8s YAML 模板
    • Helm Chart 模板
    • Dockerfile 模板
    • 构建模板
  • 工作流

    • 工作流的触发
    • 工作流的构建缓存
    • 工作流任务的并发运行
    • 工作流的镜像版本回退
    • 工作流的变量传递
  • 环境

    • 环境的负载均衡
    • 配置多套环境
    • 自测联调环境
  • 测试中心

    • 测试中心
    • 测试工具实践
    • Apipost 测试平台接入
    • Apifox 测试平台接入
  • 交付中心

    • 交付物追踪
  • 数据视图

    • 数据概览
    • 效能洞察
  • 仪表盘

    • 仪表盘
  • 集成管理

    • 账号系统

      • LDAP
      • OAuth 2.0
      • GitHub
    • 项目管理
    • 代码源

      • 简介
      • GitLab 集成
      • GitHub 集成
      • Gerrit 集成
      • Gitee 公有云集成
      • 其他代码源集成
    • CI/CD 工具
    • 代码扫描
    • 镜像仓库
    • 对象存储
    • Helm 仓库
    • Kubernetes 集群
    • 主机管理
    • 其他系统
    • 软件包管理
    • 自定义镜像管理
  • 系统设置

    • 系统配置
    • 用户管理
    • 公告管理
    • 操作日志
    • 通知设置
  • 账号设置

    • 偏好设置
  • 开发者中心

    • OpenAPI 开发文档

      • API 调用方式
      • 交付中心
      • 工作流
      • 效能洞察
    • 外部系统接入开发文档

      • 自定义账号系统
      • 自定义工作流任务
    • VS Code Toolkit 插件

      • 使用指南
  • 常见问题

    • 产品使用 FAQ
    • 部署运维 FAQ
    • 集群故障 FAQ
    • 认证鉴权 FAQ
    • 诊断手册
  • 版本发布历史

    • Zadig Roadmap
    • v1.18.0 Release Notes
    • v1.17.0 Release Notes
    • v1.16.0 Release Notes
    • v1.15.0 Release Notes
    • v1.14.0 Release Notes
    • v1.13.0 Release Notes
    • v1.12.0 Release Notes
    • v1.11.0 Release Notes
    • v1.10.0 Release Notes
    • v1.9.0 Release Notes
    • v1.8.0 Release Notes
    • v1.7.1 Release Notes
    • v1.7.0 Release Notes
    • v1.6.0 Release Notes
    • v1.5.0 Release Notes
    • v1.4.0 Release Notes
    • v1.3.1 Release Notes
    • v1.3.0 Release Notes
    • v1.2.0 Release Notes
    • v1.1.0 Release Notes
    • v1.0.0 Release Notes
    • v1.0.0-rc.1 Release Notes
  • 术语表

    • 术语表

本文主要介绍 K8s YAML 项目中的测试环境相关操作。

查看环境

环境创建完成后,点击不同的环境 Tab 即可切换到该环境的详情页面。

环境详情

环境的基本信息中包括 Kubernetes 集群,Kubernetes 命名空间,更新时间,环境状态,镜像仓库。环境状态有以下几种情况:

  • 创建中:正在创建
  • 更新中:正在更新
  • 删除中:正在删除
  • 正在运行:环境中所有服务都是正常的 Running 状态
  • 运行不稳定:环境中一部分服务处于 Unstable 状态,可能的情况有两种:
    • 容器服务出现了问题
    • 容器服务正在进行更新操作,例如更新镜像,会出现短时间的服务 Unstable,当更新过程完成之后,服务状态会恢复为 Running

基本操作

环境操作包括:

  • 更新全局变量:更新环境的全局变量,参考更新环境全局变量
  • 管理服务:包括添加服务、更新服务、删除服务
  • 环境配置:为环境配置 Ingress、ConfigMap、Secret、PVC 资源,细节描述请阅读环境配置管理
  • 开启自测模式:开启自测模式,创建子环境实现日常自测联调,细节描述请阅读自测模式
  • 删除环境:删除当前环境,环境删除后不可恢复

变更记录

点击右上角的图标可查看该环境的操作日志。

变更记录

服务详情

在服务列表中点击具体的服务可查看该服务的更多信息,可以对服务进行服务重启、服务伸缩、配置管理、更新镜像等操作。具体请阅读服务详情。

服务详情

新建环境

提示

服务数量以及启动服务所需的资源会影响环境的创建时间,请耐心等待。

在项目中,点击新建环境按钮,选择测试环境后进入创建环境页面。

基本信息

  • 环境名称:要创建的环境的名称,比如:dev、pre-release。
  • 创建方式:包括新建、复制和回溯三种方式,复制环境可参考:复制环境,回溯创建环境可参考:回溯环境。
  • 资源选择:
    • K8s 集群:选择创建环境时所使用的集群资源,其中本地集群指 Zadig 系统所在的集群。关于集群的集成可参考集群管理。
    • K8s 命名空间:不同的环境会使用独立的 Kubernetes 命名空间实现隔离。Zadig 系统创建命名空间的默认规则为 项目名-env-环境名,用户也可以自定义或者选择已有命名空间。
    • 镜像仓库:指定环境创建后所使用的镜像仓库,使用工作流构建部署服务,以及修改服务镜像,均会使用此处指定的镜像仓库。关于镜像仓库的集成可参考镜像仓库管理。
  • 服务选择:选择创建环境所包含的服务,默认为当前项目下的所有服务。

环境配置

在创建环境时为环境创建配置,说明如下:

  • 可创建多个 Ingress、ConfigMap、Secret、PVC 类型的配置
  • 支持直接粘贴或从代码库导入配置,支持的代码库请参考:代码源信息
  • 环境创建成功后,此处新建的配置即会在环境/集群中生效,也可以在环境创建完成后再管理环境配置,参考环境配置管理

新建环境配置

全局变量

创建环境时可按需对全局变量的默认值做覆盖,实现不同环境的差异化配置,参考文档:全局变量。

配置全局变量

服务列表

该部分可以让用户自定义服务所使用的镜像和变量。

在 快速过滤 中配置镜像:

  • 全容器-智能选择镜像:给每个容器自动选择指定镜像仓库中最新的镜像版本
  • 全容器-全部默认镜像:给每个容器选择服务 YAML 中配置的镜像版本

在 变量配置 中为服务变量赋值,可以使用全局变量或手动设置。

提示:环境创建完毕后,也可以在环境中修改服务的变量配置,重新指定是否使用全局变量。

新建环境配置

复制环境

基于已有的环境,复制一份新环境。新环境的 K8s 集群、镜像仓库、全局变量、服务列表、服务镜像版本以及服务的配置默认和被复制环境一致。

在项目中,点击新建环境按钮,选择测试环境后进入创建环境页面。

参数说明:

  • 环境名称:自定义,根据实际语义配置
  • 创建方式:选择复制
  • 复制来源:选择被复制的环境
  • 资源选择:参考 新建环境 > 基本信息 中的描述
  • 选择服务:默认和被复制环境中的一致,可手动删除
  • 环境配置:参考 新建环境 > 环境配置 中的描述
  • 全局变量:默认和被复制环境中的一致,可手动修改
  • 服务列表:默认和被复制环境中的一致,可手动修改

回溯环境

基于已有的服务版本创建环境,对版本进行回溯。

使用交付物部署工作流创建版本后,在创建环境时可以基于指定的版本来创建实现版本回溯,创建版本可参考:创建版本。

回溯环境

  • 环境名称:自定义,根据实际语义配置
  • 创建方式:选择回溯
  • 选择版本:指定回溯版本
  • 资源选择:参考 新建环境 > 基本信息 中的描述
  • 选择服务:默认和被复制环境中的一致,可手动删除
  • 环境配置:参考 新建环境 > 环境配置 中的描述

管理服务

点击管理服务,可以对环境中的服务进行添加、更新、删除操作。

管理服务

添加服务

要添加的服务需要事先在 服务 中定义。选择服务后,系统会自动检测服务中定义的资源在所选的 Kubernetes 命名空间中是否存在,如果资源已存在,则可以选择一键导入已有服务,或者重新部署服务。

在变量配置中为服务配置变量,参考文档 服务变量。

管理服务

更新服务

选择当前环境中已有的服务对其进行更新:包括修改服务配置中的环境变量值以及同步更新服务配置。

提示

如果服务加入环境后,镜像有做过更新(比如:使用工作流部署过服务镜像,或者在环境中手动切换过服务镜像),则服务镜像并不会基于服务配置中的镜像信息更新。

管理服务

删除服务

将服务从当前环境中删除,并同步删除 Kubernetes 集群中的服务资源。

删除服务

环境配置管理

可对环境中的 Ingress、ConfigMap、Secret、PVC 配置进行操作,以 Secret 配置为例说明如下。

查看

点击基本操作中的环境配置 -> Secret,可查看当前环境中的 Secret 配置列表,以及有使用到 Secret 配置的服务集合。

添加

手动输入 K8s YAML 文件内容,或从 GitHub/GitLab 代码库导入文件(扩展名为 .yaml)可创建配置。

添加 Secret 配置

从代码库导入时可按需开启自动同步功能,开启后,Zadig 会定时从代码库拉取配置文件并将其自动更新到环境中。

添加 Secret 配置

编辑

点击编辑按钮修改 Secret 配置,可按需选择修改后是否重启与之有关联的服务。

编辑 Secret 配置

版本回滚

点击历史版本按钮,选择两个版本后可对比版本之间的差异,点击回滚按钮可快速回滚当前环境中的配置。

diff Secret 版本

删除

点击删除按钮可删除环境中的配置。需要注意删除配置后可能会造成关联服务无法正常运行,请确认无不良影响后再操作。

删除 Secret 配置

自测模式

下面以 simple-service 项目为例来说明如何使用环境的自测模式。项目中环境和服务背景,以及自测联调需求说明如下:

  1. 项目中共包括 3 个微服务 a、b、c,服务调用链路:a -> b -> c
  2. dev 环境为日常稳定测试环境,其中包括全部微服务 a、b、c。
  3. 日常会对 a 服务进行高频改动,希望能对 a 服务进行充分自测,确定其变更可交付

开启自测模式

在 dev 环境,开启自测模式:

开启自测模式

系统对自测模式的依赖条件做检查:

  1. 系统无法自动检查 Tracing 组件,需要管理员自行确保
  2. 系统会对 Istio 是否安装做自动检查,如果没有请在环境所在集群进行安装
  3. 服务调用链自动检查,主要依据是有 K8s Service 类型的资源和服务对应

开启自测模式

开启自测模式后,dev 环境中的服务会重启,稍等片刻待服务重启完毕后,该环境即成为基准环境。

创建子环境

提示

创建子环境时可选服务列表来源于基准环境

在 dev 基准环境中点击创建子环境,选择 a 服务可创建包含 a 服务的子环境 dev-test-env1:

自测联调

当需要请求服务 a 时,在请求的 Header 头中加入 x-env:dev-test-env1 即可将请求流量转发到子环境 dev-test-env1 中,实现子环境和 dev 环境的自测联调。效果如下所示:

  1. 未加 x-env 请求头,直接请求服务 a,dev 环境中的服务 a/b/c 会处理请求,子环境中无请求流量输入。

自测联调效果

  1. 增加 x-env: dev-test-env1 请求头访问服务 a,子环境中的服务 a 会接收到请求并给出响应,对于请求链路上的 b/c 服务,dev 环境中的服务会给出正常响应。

自测联调效果

关闭自测模式

当自测联调诉求结束后,在基准环境中点击更多 -> 关闭自测模式即可关闭自测模式。

  • 关闭自测模式操作会同时删除该基准环境下创建的所有子环境
  • 关闭自测模式后,环境中的服务会重启,稍等片刻待服务重启完毕后,该环境即恢复正常可用

关闭自测模式

删除环境

点击基本操作 -> 更多 -> 删除环境按钮并输入环境名即可删除环境。如果环境是基于新的 Namespace 创建的,在删除时勾选同时删除环境对应的 K8s 命名空间和服务,则删除环境操作会同时删除环境对应的 Namespace 及其中由 Zadig 系统创建的资源。

删除环境

Next
K8s Helm Chart 环境