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 Helm Chart 项目中的服务相关操作。Helm 是 Kubernetes 应用的包管理工具,使用 Helm Chart 可定义、安装和升级复杂的 Kubernetes 应用。

新建服务

支持从代码库同步、从 Chart 仓库同步、使用模板新建三种方式创建 K8s Helm Chart 服务。

  • 从代码库同步:从代码库中同步服务的 Helm Chart 配置,支持的代码源请参考文档:代码源信息。
  • 从 Chart 仓库同步:从 Chart 仓库中同步服务的 Helm Chart 配置。
  • 使用模板新建:使用 Zadig 平台中的服务 Helm Chart 模板来创建服务,支持一次创建一个服务,也支持批量创建服务。

从代码库同步服务

点击从代码库同步 -> 填写代码库及服务配置在代码库中的目录 -> 点击加载,即可从代码库同步服务。同步成功后,当代码库中对应目录的文件有变更时,会通过 Webhook 的方式自动更新此处的服务配置。

提示

  1. 需要在系统中集成代码源,可参考:代码源集成
  2. 支持的代码源清参考文档:代码源信息

以 service2 服务为例,服务的 Helm Chart 配置目录结构为:

├── zadig/examples/multi-service-demo/full-charts/service2
│   ├── Chart.yaml
│   ├── templates
│   │   ├── _helpers.tpl
│   │   ├── deployment.yaml
│   │   └── service.yaml
│   └── values.yaml

从代码库同步该服务:

从 Git 仓库导入 Helm Chart

同步后效果:

从 Git 仓库导入 Helm Chart 效果

从 Chart 仓库同步服务

前提

需要先集成 Helm Chart 仓库,参考:集成 Helm Chart 仓库。

点击从 Chart 仓库同步,选择 Chart 仓库及 Chart,新建即可。 从 Chart 仓库同步 Helm Chart

使用模板新建单个服务

前提

需要先在系统模板库里创建 Helm Chart 模板,请参考 Helm Chart 模板管理

  • 点击使用模板新建 -> 填写服务名称并选择模板 -> 按需填写配置后,导入即可。
    • 变量配置可使用模板中的默认值,也可以在新建时重新赋值
    • 开启自动同步后,当在模板库中对使用的模板操作应用到服务时,该服务配置将自动基于模板内容同步

从 Git 仓库导入 Helm Chart

  • 在高级设置中,系统还支持用新的 values.yaml 覆盖模板中的 values.yaml 内容,包括手动输入和从指定代码库导入两种途径来覆盖。

从 Git 仓库导入 Helm Chart

使用模板批量新建服务

提示

Helm Chart 模板的 values.yaml 文件中不能使用自定义变量

使用 multi-service-demo 案例来说明如何使用模板批量新建服务,必要目录说明如下:

zadig/examples/multi-service-demo
├── base-chart # Helm Chart 模板
│   ├── Chart.yaml
│   ├── templates
│   │   ├── _helpers.tpl
│   │   ├── deployment.yaml
│   │   └── service.yaml
│   └── values.yaml # 不支持使用自定义变量
└── values # 分别对应 3 个服务的 values 文件
    ├── service1.yaml
    ├── service2.yaml
    └── service3.yaml

点击使用模板新建 -> 点击批量创建 -> 选择 Helm Chart 模板 -> 选择要导入服务的 values 文件,导入即可。

从 Helm Chart 模板导入服务从 Helm Chart 模板导入服务

导入后,效果如下图所示。一份 values 文件会被定义成一个服务,values 文件名即为服务名。服务批量创建完毕后,点击更新环境即可将服务快速应用于环境中。

预览从 Helm Chart 模板导入服务后效果

服务组件

参考文档:服务组件。

Helm Chart 服务组件自定义

自定义 Helm Release 名称

系统默认会使用服务名作为部署的 Helm Release 名称,可在服务右侧的Helm Release 名称配置中按需修改。系统支持通过常量和以下变量组合来配置:

  • $Product$:项目名称
  • $Service$:服务名称
  • $Namespace$:环境所在的命名空间
  • $EnvName$:环境名称

当修改服务的 Helm Release 名称配置后,系统会自动重新部署环境中的服务,生成新的 Helm Release。

自定义 Helm Release 名称

服务编排

Zadig 系统支持对多个服务的部署顺序进行编排管理,同一启动顺序组的服务在部署时会并行执行,不同启动顺序组的服务会按照组顺序执行,适用于多个服务的启动顺序有先后依赖关系的场景。

点击服务编排图标,按需对服务启动顺序进行拖拽组合。

K8s 服务编排K8s 服务编排

更新服务

更新从代码库同步的服务

从代码库同步服务的 Chart 配置后,会自动创建 Webhook。当对应代码库中有变更时,会自动同步服务的 Chart 配置到 Zadig 中。也可以点击服务右侧的同步按钮,点击加载主动同步更新。

更新 Helm Chart 服务

更新从 Chart 仓库同步的服务

点击服务右侧的同步按钮,按需修改 Chart 版本号,点击更新即可。

更新 Helm Chart 服务

更新使用模板新建的服务

当模板内容有变化时,点击服务右侧的同步按钮 -> 点击导入即可同步模板中最新内容,在导入之前也可以在高级设置中修改 Helm values 文件内容。

更新 Helm Chart 服务

如果该服务未开启自动同步,也可以直接编辑服务 values.yaml 的内容。

更新 Helm Chart 服务

删除服务

点击服务右侧的删除按钮即可将服务配置删除。若需要将服务从环境中也删除,点击更新环境并选择要更新的环境即可。

删除服务

策略配置

在策略中设置部署服务的超时时间以及交付物命名规则。细节可阅读:策略配置。

服务策略配置

Helm Chart 样例

koderover/zadig 库中提供了 Helm Chart 样例,点击链接查看详情。

Prev
K8s YAML 测试服务
Next
K8s 托管服务