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
  • 术语表

    • 术语表

本文主要介绍如何使用 Helm 来安装 Zadig 系统。建议使用官网 Helm 安装命令生成工具进行安装。

温馨提示

使用 Helm 命令在现有 Kubernetes 集群上安装 Zadig。适合对 Helm 有一定了解的用户。

前置条件

  1. 安装 Helm v3.5+,这是一个简单的命令行工具,可以从此处获取。
  2. 若需要使用 Zadig 内置的存储组件(MySQL / MongoDB / MinIO)并开启持久化,在安装之前,需要配置 Kubernetes 默认的 StorageClass。
  3. 受限于部分类型集群网络插件及其配置,Service 的后端 Pod 可能无法通过该 Service 访问自身,在安装之前请确保集群中不存在此问题。
  4. Kubernetes 集群版本:v1.16~v1.26。

步骤 1:创建 Namespace

添加 Zadig 官方 Chart 仓库。

helm repo add koderover-chart https://koderover.tencentcloudcr.com/chartrepo/chart

创建 namespace。

kubectl create ns zadig

步骤 2:安装 Zadig

Zadig 支持两种访问方式,一种是提供访问域名,另一种是直接使用 IP + PORT 的方式访问。不同的访问方式需要设置不同的变量,可用参数请参考可选参数列表。

域名访问

请确保你有已备案的域名。 请将流量转发到 gateway-proxy 服务。

export NAMESPACE=<Zadig 安装的 NAMESPACE>
export DOMAIN=<DOMAIN>

helm upgrade --install zadig koderover-chart/zadig --namespace ${NAMESPACE} --version=1.18.0 --set endpoint.FQDN=${DOMAIN} \
    --set global.extensions.extAuth.extauthzServerRef.namespace=${NAMESPACE} \
    --set "dex.config.staticClients[0].redirectURIs[0]=http://${DOMAIN}/api/v1/callback,dex.config.staticClients[0].id=zadig,dex.config.staticClients[0].name=zadig,dex.config.staticClients[0].secret=ZXhhbXBsZS1hcHAtc2VjcmV0"

IP + PORT 访问

IP 为 Kubernetes 任一节点的外网可访问 IP。

export NAMESPACE=<Zadig 安装的 NAMESPACE>
export IP=<IP>
export PORT=<PORT>

helm upgrade --install zadig koderover-chart/zadig --namespace ${NAMESPACE} --version=1.18.0 --set endpoint.type=IP \
    --set endpoint.IP=${IP} \
    --set gloo.gatewayProxies.gatewayProxy.service.httpNodePort=${PORT} \
    --set global.extensions.extAuth.extauthzServerRef.namespace=${NAMESPACE} \
    --set gloo.gatewayProxies.gatewayProxy.service.type=NodePort \
    --set "dex.config.staticClients[0].redirectURIs[0]=http://${IP}:${PORT}/api/v1/callback,dex.config.staticClients[0].id=zadig,dex.config.staticClients[0].name=zadig,dex.config.staticClients[0].secret=ZXhhbXBsZS1hcHAtc2VjcmV0"

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
  • 内置 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.30mongodb://zadig-mongodb:27017
connections.mongodb.dbZadig 系统使用的默认 DBzadigzadig

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

Helm Charts 卸载

注意:只有当你完全知晓每项操作所带来的结果,再去执行该操作。

helm list -n zadig # 获得 Zadig 的 release name
helm uninstall <release name> -n zadig
Prev
使用 Sealos 一键安装
Next
基于现有 Kubernetes 安装