K8s Helm Chart 测试环境

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

查看环境

环境创建完成后,点击不同的 Tab 即可切换到该环境的详情页面。点击资源视图,可从工作负载/容器组/网络/存储/配置等资源视角对该环境所在命名空间下的资源进行查看。

K8s Helm Chart 测试环境 - 图1 K8s Helm Chart 测试环境 - 图2

环境的基本信息包括 K8s 集群,K8s 命名空间,更新时间,环境状态,镜像仓库,服务列表及 Chart 视图。

  • Chart 视图的介绍可参考文档:Chart 视图
  • 其他介绍可参考 K8s YAML 测试环境中的描述:查看环境

新建环境

提示

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

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

新建 Helm Chart 环境 新建 Helm Chart 环境

基本信息

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

环境配置

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

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

新建 Helm Chart 环境配置

全局服务变量

点击展开全局服务变量,可修改 values 文件内容设置环境级别的变量值,支持 2 种方式:

  • 手动输入 YAML 文件的内容,内容详情即为要设置的变量信息。
  • 从指定代码库导入 values,支持的代码源请参考文档:代码源信息

从代码库导入时如果打开自动同步开关,Zadig 会定时从代码库获取最新的 values 文件并将其自动更新到环境中。

从代码库导入 values

服务变量

可修改指定服务的 values 文件内容,配置服务级别的变量值,支持 3 种方式:

  • 手动输入 values 文件内容。
  • 从指定 GitHub/GitLab 代码库同步 values 文件。如果打开自动同步开关,Zadig 会定时从指定的代码库获取最新的 values 文件并将其自动更新到环境中。
  • 手动输入键值对,覆盖服务配置中的 values 文件内容。

从代码库导入 values

扩展知识

  1. 服务变量的设置只对单一服务生效。
  2. 全局服务变量的设置对当前环境的所有服务都生效。
  3. 如果既设置了全局服务变量,又设置了服务变量时,服务变量的优先级高于全局服务变量。

复制环境

参考 K8s YAML 测试环境中的描述:复制环境

更新全局变量

点击基本操作中的更新全局变量,可修改全局服务变量,修改后对当前环境下的所有服务都生效,支持以下几种方式:

  • 手动输入 values 内容
  • 从代码库导入 values 文件,支持的代码库请参考:代码源信息
  • 使用变量组,变量组管理参考变量组配置

更新 Helm Chart 环境变量

管理服务

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

添加服务

点击 管理服务 -> 添加服务 选择要添加的服务,可按需修改其 values 内容。选择服务后,系统会自动检测 release 在所选的 Kubernetes 命名空间中是否存在,如果资源已存在,则可以选择一键导入已有服务,或者重新部署服务。

K8s Helm Chart 测试环境 - 图9 K8s Helm Chart 测试环境 - 图10

更新服务

点击管理服务 -> 更新服务 -> 选择要更新的服务,可按需修改其 values 内容 -> 点击确定即可对环境中的服务进行更新。如果不修改其 values 内容,则会使用服务配置中的 values 来修改该服务。

提示

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

更新 Helm Chart 服务

删除服务

点击管理服务 -> 删除服务 -> 选择要删除的服务 -> 点击确定即可将该服务从当前环境中删除。

删除 Helm Chart 服务

服务回滚

在 Chart 视图中,点击 Chart 右侧的历史版本图标可查看 Chart 的所有历史版本,比较两个不同版本的配置差异,一键将 Chart 回滚到指定版本。

K8s Helm Chart 测试环境 - 图13 K8s Helm Chart 测试环境 - 图14

环境配置

为环境配置 Ingress、ConfigMap、Secret、PVC 资源,细节描述请阅读环境配置管理

自测模式

参考文档:自测模式

睡眠与唤醒

参考文档:睡眠与唤醒

变更记录

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

变更记录

Chart 视图

在服务列表左侧的 Chart 视图中可对服务快速过滤,查看服务实例的 values 文件内容,点击左侧的更新按钮可对环境中的服务进行更新。

chart release 视图

若更新失败,服务会变为红色,可查看具体的失败原因。

chart release 视图

删除环境

点击基本操作 -> 更多 -> 删除环境按钮并输入环境名即可删除环境。当勾选同时删除环境对应的 K8s 命名空间和服务后:

  • 如果环境是基于新的 Namespace 创建的,则删除环境操作会删除环境对应的 Namespace 及其中由 Zadig 系统创建的资源。
  • 如果环境是基于已有 Namespace 创建的,则删除环境操作会删除 Namespace 中由 Zadig 系统创建的资源,但不会删除 Namespace。

删除 Helm Chart 环境