跳到主要内容

配置总览

SupKube 的全部安装期配置集中在 Helm Chart 的 values.yaml 一份文件里,本文按功能分区导览,认证与许可证两个较复杂的分区另有专门页面。

前置条件​

已完成安装前置条件确认。

基础参数​

分区关键字段说明
副本数replicaCount后端/前端 Deployment 副本数,默认 1
EULAeula.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/v1 Ingress,仅路由到前端 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 默认值的字段)。

相关文档​