配置说明
说明:此文档仅对重要参数加以解释说明,部分参数因作用相似或雷同,这里不加以赘述。
- 所有非第三方服务均可以自定义服务名
<service>.name,用以更改服务名称以及 ingress 暴露的域名(portal 主域名除外)。- 所有非第三方服务均可以定义 deployment,statefulset 的绝大部署相关属性,例如 labels, annotations, replicas, serviceAccount, environments, resources, volumeMounts, livenessProbe, readinessProbe, startupProbe, lifecycle, stdin,tty, volumes, nodeSelector, tolerations, affinity, securityContext 等等。
本文档用于说明 CSGHub Helm Chart 中的重要配置项,包括全局配置、核心服务配置、内置组件以及 各项参数的优先级说明。适用于部署、运维及二次开发人员。
1. Global 全局配置
1.1 edition 发行版
global:
edition: "ce" or "ee"
用于指定部署版本,为社区版或企业版。不同版本会影响镜像 tag、启用的功能以及依赖项。
1.2 Ingress 访问配置
global:
ingress:
domain: "example.com"
useTop: false
tls:
enabled: false
secretName: "<kubernetes tls secret name>"
service:
type: "LoadBalancer" or "NodePort"
说明:
-
domain
CSGHub 系统使用的基础域名,所有服务都会基于此生成最终访问域名。
-
useTop
是否直接使用顶级域名。
- true:CSGHub主服务直接使用顶级域名(如
example.com)。 - false:服务使用子域名(默认
csghub.example.com)。
- true:CSGHub主服务直接使用顶级域名(如
-
tls
- enabled
- true:启用 HTTPS 加密访问,开启 HTTPS 必须提供 secretName。
- false: 不启用 HTTPS 加密访问。
- enabled
-
service
-
type
指定 csghub Ingress 的对外暴露方式,可选值
LoadBalancer或NodePort。注意:此值需要在部署时指定,部署后修改 svc 类型的方式会影响访问。
此字段通过 YAML 锚点引用(&type),会影响
ingress-nginx.controller.service.type。
-
优先级设定:
global.ingress < ingress < <service>.ingress
1.3 Image 全局镜像配置
global:
image:
registry: "opencsg-registry.cn-beijing.cr.aliyuncs.com"
tag: "v1.11.0"
pullPolicy: "IfNotPresent"
pullSecrets:
- acr-pull-secret
-
registry
此参数会覆盖 helm chart 中所有镜像的镜像仓库,通常不建议修改,默认会依赖镜像的原镜像仓库拉取相关镜像。可能是 docker.io 等。如果是国内使用可以设置为
opencsg-registry.cn-beijing.cr.aliyuncs.com。 -
tag
用来定义 csghub 镜像的版本号。如果镜像 namespace 属于 opencsghq,模板会根据 tag 是否合规自动补全 edition 等标识。例如示例中的 tag 在实际渲染时会输出为
v1.11.0-ce/v1.11.0-ee。 -
pullPolicy
镜像拉取策略。
-
pullSecrets
配置拉取秘钥从私有镜像仓库拉取镜像。
优先级设定:
global.image < image < <service>.image
1.4 Persistence 全局存储
global:
persistence:
storageClass: "hostpath"
accessModes: ["ReadWriteOnce"]
size: "10Gi"
-
storageClass
所有 Statefulset 默认使用的存储类。
-
accessModes
所有 Statefulset 默认使用的访问模式。
-
Size
所有 Statefulset 创建 PVC 默认的存储卷大小。
优先级设定:
global.persistence < <service>.persistence
1.5 PostgreSQL、Redis、Mongo、Object Storage、Registry 等 external 配置
每个组件均支持:
<service>:
enabled: true or false
external: {}
-
enabled
- true:启用内置服务组件,此时 external 配置不生效
-
external
当 enabled 设置为 false 时,通过 external 设置对应外置服务组件的连接信息。
优先级设定:
global.service < <service>.service
1.6 ChartContext 上下文配置
chartContext:
isBuiltIn: true
-
isBuitIn
默认为 true,主要作用是为了实现 dataflow ,runner,csgship chart 的无缝集成,标识 chart 是独立部署还是和 csghub 主服务捆绑部署。
2. CSGHub Core 核心服务配置
2.1 Image(核心服务镜像)
image:
registry: "opencsg-registry.cn-beijing.cr.aliyuncs.com"
tag: "v1.11.0"
pullPolicy: "IfNotPresent"
pullSecrets:
- acr-pull-secret
此参数作用和 global.image作用类似,但是作用域仅局限在以 csghub-server/csghub-portal 镜像启动的服务。
优先级设定:
global.image < image(Here) < <service>.image
2.2 Logging 日志
logging:
level: "info" or "warning" or "debug" or "error"
用于设置以 csghub-server 镜像启动的所有服务的日志级别。全局控制日志级别。
3. Portal 前端
3.1 Image 镜像设置
portal:
repository: "opencsghq/csghub-portal"
其他配置可忽略,继承自global.image和image。
优先级设定:
global.image < image < portal.image
3.2 Ingress 访问配置
不做赘述,作用同global.ingress,但无法声明ingress.service.type,其他所有参数优先级高于global.image。
3.3 Docs 文档中心设置
portal:
docs:
domain: "docs.example.com"