配置总览
SupKube 的全部安装期配置集中在 Helm Chart 的 values.yaml 一份文件里,本文按功能分区导览,认证与许可证两个较复杂的分区另有专门页面。
前置条件
已完成安装前置条件确认。
基础参数
| 分区 | 关键字段 | 说明 |
|---|---|---|
| 副本数 | replicaCount | 后端/前端 Deployment 副本数,默认 1 |
| EULA | eula.accept / eula.email / eula.company | 必须 accept=true 才能安装,三个字段会写入一个 ConfigMap 供事后审计 |
| 镜像 | backend.image.* / frontend.image.* | 默认指向 supkube.azurecr.io,离线环境见离线安装 |
| 资源限制 | backend.resources / frontend.resources | 标准 K8s requests/limits |
| 子路径部署 | frontend.basePath | 默认 /;设为 /supkube 等子路径时,auth.dex.publicURL 的路径部分必须与之一致 |
服务暴露与网络
service.backend.type/port:后端 Service,默认ClusterIP。service.frontend.type/port/nodePort:前端 Service,四种模式详见在线安装。ingress.*:enabled/className/annotations/hosts,标准networking.k8s.io/v1Ingress,仅路由到前端 Service(API 与 Dex 都经前端 Nginx 反向代理,没有单独的后端 Ingress 规则)。
Velero 子 Chart
velero.* 控制内置 Velero 的部署:enabled(关闭后需自行准备外部 Velero)、configuration.features: EnableCSI、configuration.backupSyncPeriod(默认 60s)、deployNodeAgent、installCRDs、initContainers(预置 AWS 与 Azure 两个 Velero 插件,不要额外加装 velero-plugin-for-csi——Velero 1.14+ 已内置 CSI 支持,重复加载会导致 velero Pod 因控制器重复注册而崩溃循环)。
命名空间解析
config.veleroNamespace 留空时会自动解析:内置 Velero 场景下等于发布命名空间(即 -n supkube),外部 Velero 场景下默认为字面量 velero。只有当外部 Velero 部署在非标准命名空间时才需要手工填写这个字段。
许可证消费端、多集群集群注册表、内置的 Kubernetes 事件审计,这三处直接在代码里写死了字符串 supkube,不会跟随 config.veleroNamespace 或您的 -n <namespace> 选择变化。请始终把 SupKube 安装在 supkube 命名空间——这也是所有官方部署命令使用的命名空间。详见架构 · 核心组件。
本地备份库(内置 MinIO)
localStore.enabled=true 时会在集群内额外部署一个单副本 MinIO,作为"先落一份、再考虑异地"的第一层存储:localStore.size(默认 100Gi)、localStore.storageClass、localStore.objectLock.{enabled,mode}(governance 允许管理员绕过、compliance 连管理员都无法提前删除)、localStore.bucket(默认 supkube-local,首次安装后不建议更改)。
跨集群信任(Fingerprint)
fingerprint.sharedSecret 用于跨集群 Import Policy 的 HMAC 签名信任。留空时每个集群会各自生成一个随机值(升级时保持不变),只能用于单集群场景;需要跨集群互信时,必须在所有参与集群上手工设置同一个、已经过 base64 编码的值(模板不会替您做 base64 编码):
openssl rand -base64 32
离线安装
global.airgapped.repository 用于整体重写镜像地址,细节与两条不同搬运路径的差异见离线安装。
Copilot 智能助手(可选,默认关闭)
ai.enabled=false 时完全关闭;开启前需要先创建一个含 AZURE_OPENAI_KEY 的 Kubernetes Secret,再设置:
ai:
enabled: true
provider: azure
azure:
endpoint: "https://<您的资源>.openai.azure.com"
deployment: "<部署名>"
keySecret: "<您创建的 Secret 名称>"
密钥永远通过 secretKeyRef 挂载,不会出现在 values.yaml 里。需要强调:DR 评分引擎(/api/v1/ai/score、/ai/scores)是纯规则计算,不受这个开关影响,也从不调用大语言模型;只有 Copilot 对话(/api/v1/ai/chat)受此开关控制。
JDC-Vault 不可变存储对接(可选,默认关闭)
vault.* 用于对接外部的不可变备份仓库服务:启用后,后端会用 client_credentials 方式向该服务申领一个专属 S3 兼容存储桶,并自动创建名为 vault-supkube 的 BSL。这是一个面向特定基础设施的可选集成,多数部署无需关心此项。
认证与许可证
这两部分内容较多,见专门页面:
验证方法
helm get values supkube -n supkube
可以完整看到当前生效的配置值(含未在命令行显式 --set 但取自 Chart 默认值的字段)。