基于 Helm 命令安装

本文主要介绍如何使用 Helm 来安装 Zadig 系统。

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

前置条件

  1. 安装 Helm v3.5+,这是一个简单的命令行工具,可以从此处获取。
  2. Kubernetes v1.12.0+ 版本

步骤 1:创建 Namespace

添加 Zadig 官方 Chart 仓库。

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

创建 namespace。

  1. kubectl create ns zadig

步骤 2:安装 Zadig

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

域名访问

请确保您有已备案的域名。

  1. helm upgrade --install zadig --namespace zadig koderover-chart/zadig --set endpoint.FQDN=<your domain>

IP + PORT 访问

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

  1. helm upgrade --install zadig --namespace zadig koderover-chart/zadig --set endpoint.type=IP \
  2. --set endpoint.IP=<IP> \
  3. --set ingress-nginx.controller.service.nodePorts.http=<30000~32767任一端口>

Zadig Chart 可选参数列表

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

Ingress Controller 可选参数

  • 安装内置 Ingress Controller
Key 说明 Value 示例 默认值
tags.ingressController 是否安装内置 ingress controller true true
ingress-nginx.controller.service.type Ingress nginx controller 服务的暴露方式,可选项为 Loadbalancer 或者 NodePort Loadbalancer NodePort
  • 不安装内置 Ingress Controller

    如果您有自己的 Ingress Controller,可以选择不安装,具体配置参数如下。

Key 说明 Value 示例 默认值
tags.ingressController 是否安装内置 ingress controller false true
ingress-nginx.controller.ingressClass ingress controller class ingress class zadig-nginx

MongoDB 可选参数

  • 安装内置 MongoDB
Key 说明 Value 示例 默认值
tags.mongodb 是否安装内置的 MongoDB true true
mongodb.persistence.enabled MongoDB 持久化开关 true true
mongodb.persistence.size MongoDB 的存储空间大小 20 Gi 20 Gi
mongodb.persistence.storageClass MongoDB 的 PVC 使用的 Storage Class,如果开启持久化的情况下,不提供 Storage Class 和 existingClaim,将使用集群默认的 Storage class。 在此情况下,如果集群没有默认的 Storage Class, 安装将会失败。 alicloud-disk-efficiency nil
mongodb.persistence.existingClaim 如果安装的 MongoDB 需要使用已经存在的 PVC,使用这个字段指定 Claim Name myclaim nil
  • 不安装内置的 MongoDB

    如果您有自己的 MongoDB,可以选择不安装 MongoDB,具体配置参数如下。

Key 说明 Value 示例 默认值
tags.mongodb 是否安装内置的 MongoDB false true
mongodb.connectionString 如果客户开启了密码验证,需要修改对应的连接串 mongodb://root:mypassword@zadig-mongodb:27017 mongodb://zadig-mongodb:27017
mongodb.db Zadig 系统使用的默认 DB zadig zadig

Minio 可选参数

  • 安装内置 Minio
Key 说明 Value 示例 默认值
minio.persistence.enabled MinIO 对象存储持久化开关 true true
minio.persistence.size MinIO 的存储空间大小 20 Gi 20 Gi
minio.persistence.storageClass MinIO 的 PVC 使用的 Storage Class,如果开启持久化的情况下,不提供 Storage Class 和 existingClaim,将使用集群默认的 Storage class。 在此情况下,如果集群没有默认的 Storage Class, 安装将会失败。 storage_class nil
minio.persistence.existingClaim 如果安装的 MinIO 需要使用已经存在的 PVC,使用这个字段指定 Claim Name my_pvc nil
  • 不安装内置 Minio

    如果您有自己的 S3 对象存储,可以选择不安装 Minio,具体配置参数如下。
    后续可在访问系统 系统设置 -> 对象存储 配置,配置过程详见对象存储

Key 说明 Value 示例
tags.minio 是否安装内置的 MinIO 对象存储 false

Helm Charts 卸载

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

  1. helm uninstall zadig -n zadig