Zadig 是一款面向开发者设计的云原生持续交付(Continuous Delivery)产品,具备高可用 CI/CD 能力,提供云原生运行环境,支持开发者本地联调、微服务并行构建和部署、集成测试等,为工程师提供统一的协作平面。Zadig 内置了 K8s YAML、Helm Chart、主机等复杂场景最佳实践,适用大规模微服务、高频高质量交付等场景。
核心功能具有产品持续交付、持续测试、持续追踪的全流程能力,包括以下核心功能:
- 项目:工作流、环境、服务、构建、测试、版本管理
- 测试中心:自动化测试管理
- 交付中心:版本管理、交付物追踪
- 数据视图:数据概览、效能洞察 - 构建效能、测试效能、部署效能
- 集成管理:GitHub/GitLab/Gerrit/Gitee 集成、SSO/LDAP/AD 账号系统集成、Jenkins/Jira 集成、软件包管理、构建镜像管理
- 基础设施:镜像仓库、对象存储、Helm 仓库、集群管理、主机管理
- 系统配置:RBAC 权限、操作日志、公告管理
整体业务架构如下:
安装简介
本文主使用 Helm 在现有 Kubernetes 集群上安装 Zadig 系统。
前置条件- 现有k8s集群配置如下 (k8s版本v1.21.3,helm版本v3.6.3)
CPU |
4core | ||
master |
192.168.88.128 |
内存 |
12G |
硬盘 |
80G | ||
CPU |
2core | ||
node01 |
192.168.88.129 |
内存 |
4G |
硬盘 |
80G | ||
CPU |
2core | ||
node02 |
192.168.88.130 |
内存 |
4G |
硬盘 |
80G |
- zadig依赖中间件
内置了一些必要的组件 ,可以根据您的安装环境实际情况选择是否安装这些组件
- MySQL
- mongodb
- Minio(可选其他对象存储)
以上三个中间件,均通过helm外置部署。
安装 Zadig添加 Zadig 官方 Chart 仓库。
[root@master zadig]# helm repo add koderover-chart https://koderover.tencentcloudcr.com/chartrepo/chart
[root@master zadig]# helm repo list
NAME URL
bitnami https://charts.bitnami.com/bitnami
azure https://mirror.azure.cn/kubernetes/charts/
koderover-chart https://koderover.tencentcloudcr.com/chartrepo/chart
stable https://charts.helm.sh/stable
kubectl create ns zadig
IP PORT 访问Zadig 支持两种访问方式,一种是提供访问域名,另一种是直接使用 IP PORT 的方式访问(本文使用)。
安装命令
helm upgrade --install --create-namespace -n zadig \
--set global.extensions.extAuth.extauthzServerRef.namespace=zadig \
--set endpoint.type=IP --set endpoint.IP=192.168.88.128 \
--set gloo.gatewayProxies.gatewayProxy.service.type=NodePort \
## 访问方式
--set endpoint.type=IP --set endpoint.IP=192.168.88.128 \
--set gloo.gatewayProxies.gatewayProxy.service.httpNodePort=32767 \
--set dex.fullnameOverride=zadig-zadig-dex \
--set dex.config.issuer=http://zadig-zadig-dex:5556/dex \
--set "dex.config.staticClients[0].redirectURIs[0]=http://192.168.88.128:32767/api/v1/callback,dex.config.staticClients[0].id=zadig,dex.config.staticClients[0].name=zadig,dex.config.staticClients[0].secret=ZXhhbXBsZS1hcHAtc2VjcmV0" \
## 初始化用户
--set init.adminPassword=zadig \
--set init.adminEmail=leijian0128@163.com \
## 外置MySQL
--set tags.mysql=false \
--set connections.mysql.host=192.168.88.128:3306 \
--set connections.mysql.auth.user=root \
--set connections.mysql.auth.password=root \
## 外置MongoDB
--set dex.config.storage.config.host=192.168.88.128 \
--set dex.config.storage.config.port=3306 \
--set dex.config.storage.config.user=root \
--set dex.config.storage.config.password=root \
--set mongodb.db=zadig --set tags.mongodb=false \
--set connections.mongodb.connectionString=mongodb://root:root@192.168.88.128:27017 \
## 外置Minio
--set tags.minio=false \
--set tags.ingressController=true \
--set ingress-nginx.controller.service.type=NodePort \
--version=1.12.0 zadig-zadig koderover-chart/zadig
卸载命令
helm list -n zadig # 获得 Zadig 的 release name
helm uninstall <release name> -n zadig
安装成功之后输入IP PORT登录系统界面
,