使用 Helm 工具

本文主要介绍使用 Helm 命令安装 Zadig。可生产使用。

资源准备

  1. Kubernetes 集群,版本:v1.16 ~ v1.29,推荐配置:8C16G,且对该集群有管理员操作权限

Zadig 本身消耗 4C8G,可支撑两条工作流任务的并发执行

  1. Helm 命令行工具,版本:v3.5+,可以从此处使用 Helm 工具 - 图1 (opens new window)获取
  2. 网络:
    • 如果选择 IP+端口 的方式访问 Zadig 系统,需要确保集群节点有外部 IP 可供访问
    • 如果选择域名方式访问 Zadig 系统,需要准备可用的域名,并在安装完成后将流量解析至 gateway-proxy 服务

注意事项

  1. 若需要使用 Zadig 内置的存储组件(MySQL / MongoDB / MinIO),在安装之前,需要配置 Kubernetes 默认的 StorageClass,以支持创建 PVC 用于数据持久化

  2. 受限于部分类型集群网络插件及其配置,Service 的后端 Pod 可能无法通过该 Service 访问自身,在安装之前请确保集群中不存在此问题

  3. 配置 kube-dns 服务,以支持服务和 Pod 之间的按名称寻址

安装

使用官方安装小助手使用 Helm 工具 - 图2 (opens new window)一键快速安装。详细参数说明参考 Chart 参数列表

安装过程受硬件配置和网络情况影响,不同环境下的时间可能不同,可以执行 kubectl -n {Namespace} get pod 查询服务状态,当所有服务都是 RUNNING 状态时,则说明部署成功。

提示

许可证获取和配置参考文档:许可证

升级

升级 Zadig,请参考以下操作:

步骤 1:确认版本信息

  • 请确认当前安装的 Zadig 版本,并确定要升级的目标版本。
  • 请勿跨版本升级,若当前版本与目标版本之间存在多个版本,请逐版本操作。

可以通过命令 helm list -n {Namespace} 获取当前 Zadig 的版本信息。

步骤 2:备份数据以及安装参数

  • 参考文档:备份数据进行数据备份。
  • 通过命令 helm get values -n {Namespace} {ReleaseName} > zadig.yaml 备份当前的安装参数。

步骤 3:执行升级

  • 升级时请勿使用 Zadig
  • 执行以下命令升级 Zadig:
  1. helm repo add koderover-chart https://koderover.tencentcloudcr.com/chartrepo/chart
  2. helm repo update
  3. helm upgrade {releaseName} -n {Namespace} --version=2.2.0 koderover-chart/zadig -f zadig.yaml

步骤 4:升级检查

检查以下功能是否正常,对此次升级做验收:

  1. 检查账号系统是否可以正常登录。
  2. 检查项目/环境/服务/系统集成的数据是否正常。
  3. 检查验收项目中的环境、服务数据是否展示正常。
  4. 检查验收项目中的产品/自定义工作流(若有)是否可正常运行。

卸载

  • 卸载 Zadig 时,不会删除通过 Zadig 创建的环境,服务等资源;若您需要清理资源,请手动操作。
  • 执行以下命令卸载 Zadig
  1. helm uninstall {ReleaseName} -n {Namepsace}

Zadig Chart 参数列表

Zadig Chart 除了 Zadig 系统外,还内置了一些必要的组件 MySQL、MongoDB、MinIO,可以根据你的安装环境实际情况选择是否安装这些组件

Gateway Proxy 参数列表

Key说明Value 示例默认值
gloo.gatewayProxies.gatewayProxy.service.typeGateway Proxy 服务的暴露方式,可选项为 LoadBalancer、NodePort、ClusterIPLoadBalancerLoadBalancer

MongoDB 参数列表

  • MongoDB 连接参数
Key说明Value 示例默认值
connections.mongodb.connectionStringMongoDB 连接串mongodb://root:zadig@kr-mongodb:27017mongodb://root:zadig@kr-mongodb:27017
connections.mongodb.dbZadig 所使用的 MongoDB 的 DBzadigzadig
ee.mongodb.enableTransaction是否启用事务功能,事务实际是否生效依赖于 MongoDB 版本以及安装方式,请参考 MongoDB 官方文档获取更多信息falsefalse
ee.mongodb.dbZadig 交付部署组件所使用的 DB,不可与 connections.mongodb.db 值相同plutus_zadigplutus_zadig
  • 内置 MongoDB 安装参数
Key说明Value 示例默认值
tags.mongodb是否安装内置的 MongoDBtruetrue
mongodb.persistence.enabledMongoDB 持久化开关truetrue
mongodb.persistence.sizeMongoDB 的存储空间大小20 Gi20 Gi
mongodb.rootPassword内置 MongoDB 的 root 用户密码zadignil
mongodb.persistence.existingClaim如果安装的 MongoDB 需要使用已经存在的 PVC,使用这个字段指定 Claim Namemyclaimnil
  • 不安装内置的 MongoDB

如果你有自己的 MongoDB,可以选择不安装内置的 MongoDB,版本要求 3.4 及以上,具体配置参数如下。

Key说明Value 示例默认值
tags.mongodb是否安装内置的 MongoDBfalsetrue
connections.mongodb.connectionStringZadig 系统业务数据库连接串,配置多个地址时需要进行转义mongodb://user:password
@8.10.20.20\,8.10.20.30
mongodb://zadig-mongodb:27017
connections.mongodb.dbZadig 系统使用的默认 DBzadigzadig
ee.mongodb.dbZadig 交付部署组件所使用的 DB,不可与 connections.mongodb.db 的值相同plutus_zadigplutus_zadig

MinIO 参数列表

提示

如果有自己的 S3 对象存储,可以选择不安装 MinIO。在 Zadig 安装完后成访问 系统设置 -> 对象存储 来配置即可,配置过程详见对象存储

  • 内置 MinIO 安装参数
Key说明Value 示例默认值
tags.minio是否安装内置的 MinIOtruetrue
minio.persistence.enabledMinIO 对象存储持久化开关truetrue
minio.persistence.sizeMinIO 的存储空间大小20 Gi20 Gi
minio.persistence.storageClassMinIO 的 PVC 使用的 Storage Class,如果开启持久化的情况下,不提供 Storage Class 和 existingClaim,将使用集群默认的 Storage class。 在此情况下,如果集群没有默认的 Storage Class, 安装将会失败。storage_classnil
minio.persistence.existingClaim如果安装的 MinIO 需要使用已经存在的 PVC,使用这个字段指定 Claim Namemy_pvcnil

MySQL 参数列表

  • MySQL 连接参数
Key说明Value 示例默认值
connections.mysql.hostMySQL连接信息kr-mysql:3306kr-mysql:3306
connections.mysql.auth.userMySQL 用户名rootroot
connections.mysql.auth.passwordMySQL 密码zadigzadig
connections.mysql.db.userZadig 用户系统使用的 DBuseruser
connections.mysql.db.dexZadig 第三方连接器 Dex 使用的 DBdexdex
dex.config.storage.config.databaseDex 系统所使用的 DB,和 connections.mysql.db.dex 的值保持一致dexdex
dex.config.storage.config.hostDex 系统所使用的 MySQL Hostzadig-mysqlzadig-mysql
dex.config.storage.config.portDex 系统所使用的 MySQL 端口33063306
dex.config.storage.config.userDex 系统所使用的 MySQL 用户名rootroot
dex.config.storage.config.passwordDex 系统所使用的 MySQL 密码zadigzadig
  • 内置 MySQL 安装参数
Key说明Value 示例默认值
tags.mysql是否安装内置 MySQLtruetrue
mysql.rootPasswordMySQL 密码zadigzadig
mysql.persistence.enabled是否开启持久化存储truetrue
mysql.persistence.size持久化存储 PVC 的大小20Gi20Gi

如果自己提供 MySQL

在安装 Zadig 系统之前,请手动创建 connections.mysql.db.dex 所指定的 Database,以确保 Zadig 系统的正常安装

其他参数

Key说明Value 示例默认值
kubernetes.serverZadig 安装集群的 Kubernetes API Server 地址https://10.0.0.1:6443nil
gloo.k8s.clusterName安装 Zadig 的集群名称,若修改过集群名称,需要设置此参数cluster.localcluster.local
protocol访问 Zaidg 系统使用的具体协议httpshttp