官方脚本

本文主要介绍如何使用官方脚本在现有 Kubernetes 集群上安装升级 Zadig,适用于企业正式使用的场景。

准备资源

  • Kubernetes 集群版本:v1.16~v1.26

  • Helm v3.5.0 + 版本

注意事项

  • 若需要使用 Zadig 内置的存储组件(MySQL / MongoDB / MinIO),在安装之前,需要配置 Kubernetes 默认的 StorageClass,以支持创建 PVC 用于数据持久化
  • 受限于部分类型集群网络插件及其配置,Service 的后端 Pod 可能无法通过该 Service 访问自身,在安装之前请确保集群中不存在此问题
  • 配置 kube-dns 服务,以支持服务和 Pod 之间的按名称寻址

安装

步骤 1:准备安装环境

  • 需要一台可以正常连通该集群的机器用于执行安装脚本。
  • 确保该机器已经安装了 kubectl 客户端 官方脚本 - 图1 (opens new window) 并且可以使用管理员的权限操作该集群。

步骤 2:下载安装脚本

根据实际情况,可从以下源选择相应的 Zadig 版本。

场景下载源说明
快速体验官方下载源:https://download.koderover.com/install?type=quickstart官方脚本 - 图2 (opens new window)
GitHub 源:https://github.com/koderover/zadig/releases/download/v3.0.0/install_quickstart.sh官方脚本 - 图3 (opens new window)
不提供持久化存储能力,不推荐生产使用
生产使用官方下载源:https://download.koderover.com/install?type=standard官方脚本 - 图4 (opens new window)
GitHub 源:https://github.com/koderover/zadig/releases/download/v3.0.0/install.sh官方脚本 - 图5 (opens new window)
提供持久化存储能力

根据实际情况下载安装脚本并添加可执行权限,使用 GitHub 源下载示例如下:

  1. # 快速体验:
  2. curl -LO https://github.com/koderover/zadig/releases/download/v3.0.0/install_quickstart.sh
  3. chmod +x ./install_quickstart.sh
  4. # 生产使用:
  5. curl -LO https://github.com/koderover/zadig/releases/download/v3.0.0/install.sh
  6. chmod +x ./install.sh

提示

下表为安装脚本支持配置的环境变量,安装时会使用默认值进行安装,如果有配置的需求,可以在执行安装脚本之前通过环境变量进行配置。

  1. # 例如:配置 IP 访问地址
  2. export IP=<node external ip>
  3. export PORT=< 30000 - 32767 任一端口>
  4. # 如果出现端口占用情况,换一个端口再尝试
变量名称默认值是否必填说明
NAMESPACEzadigKubernetes 命名空间
DOMAIN和 IP 二选一访问 Zadig 系统域名, 仅生产脚本可用,域名流量需要解析到 gateway-proxy 服务
IP和 DOMAIN 二选一Kubernetes 集群任一节点的外网 IP 地址,用于访问 Zadig 系统
PORT使用 IP 访问必填任意合法的 Kubernetes 端口, K8S 默认端口范围为 30000 - 32767
SERVICE_TYPENodePortZadig 网关的服务暴露方式,可选值: NodePort, LoadBalancer。 默认值: NodePort
STORAGE_SIZE20G内置数据库和对象存储各自的数据存储大小
STORAGE_CLASS若集群内支持持久存储卷,可以设置该变量,避免 Zadig 的数据库服务重启后数据丢失 注:仅生产脚本可用
MONGO_URIZadig 业务数据存储,配置多个地址时需要进行转义,例如:mongodb://user:password@8.10.20.20\,8.10.20.30。若不配置,使用安装脚本中内置的单节点 MongoDB 注:仅生产脚本可用
MONGO_DBzadigZadig 业务数据库名称 注:仅生产脚本可用
MYSQL_HOST“”Zadig 用户信息数据存储,若不配置,使用安装脚本中内置的单节点 MySQL 注:仅生产脚本可用
MYSQL_PORT“”MySQL 数据库端口 注:仅生产脚本可用
MYSQL_USERNAME“”MySQL 数据库用户名 注:仅生产脚本可用
MYSQL_PASSWORD“”MySQL 数据库密码 注:仅生产脚本可用
ENCRYPTION_KEY由安装过程生成,用于数据加密解密,第一次安装后请妥善保存。重装系统时需设置 ENCRYPTION_KEY,才能保证之前的数据可以被正确解密

步骤 3:开始安装

快速体验安装

执行快速体验安装脚本

  1. export IP=<IP>
  2. # Kubernetes 集群任一节点的外网 IP 地址,用于访问 Zadig 系统
  3. # 如果你有自己的域名,可以配置你可用的域名 export DOMAIN = <DOMAIN>
  4. export PORT=<任一合法 Kubernetes 端口>
  5. # 如果出现端口占用情况,换一个端口再尝试
  6. ./install_quickstart.sh

生产使用安装

如果你需要生产级使用,建议配置持久化的数据存储,然后执行正式版安装脚本。

  • 使用外置高可用的 MongoDB 和 MySQL。具体配置如下。

注意

对 MongoDB 及 MySQL 的版本要求如下:

  • MongoDB ≥ 3.4
  • MySQL ≥ 5.7
  1. export IP=<IP>
  2. export PORT=<任一合法 Kubernetes 端口>
  3. export EMAIL=example@koderover.com
  4. export PASSWORD=zadig
  5. # 配置高可用的 MySQL。
  6. # 安装前需要手动在该 MySQL 实例中创建名为 dex 和 user 的 database
  7. export MYSQL_HOST=<MYSQL_HOST>
  8. export MYSQL_PORT=<MYSQL_PORT>
  9. export MYSQL_USERNAME=<MYSQL_USERNAME>
  10. export MYSQL_PASSWORD=<MYSQL_PASSWORD>
  11. # 配置高可用的 MongoDB
  12. export MONGO_URI=<MONGO_URI>
  13. export MONGO_DB=<MONGO_DB>
  14. ./install.sh

步骤 4:验证安装结果

预期安装结果

安装过程预计持续 10 分钟左右,受硬件配置和网络情况影响,不同环境下的时间可能不同, 当看到如图的输出时,说明安装已经完成,届时可以通过命令查看服务启动状态。

  1. kubectl -n zadig get po

步骤 5:访问系统

预期安装结果

在安装结果输出中,你可以获得系统的访问地址。

提示

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

升级

使用 Helm 命令进行升级,升级过程参考文档

卸载

支持使用脚本来一键卸载当前安装的 Zadig 系统,只需执行卸载脚本即可:

  1. #根据实际安装的 namespace 修改
  2. export NAMESPACE=zadig
  3. #根据实际安装的版本,选择对应版本的卸载脚本
  4. curl -SsL https://github.com/koderover/zadig/releases/download/v3.0.0/uninstall.sh |bash

官方卸载脚本:

  1. curl -SsL https://download.koderover.com/install?type=uninstall | bash