跳到主要内容

Secret 与凭据治理

Testudo 会处理多类高价值凭据。生产环境应避免把真实凭据写入公开 values 文件、截图或日志。

凭据类型

凭据用途建议
镜像拉取 Secret拉取 operator/server/web 镜像复用集群已有 Secret,避免写入公开 values
对象存储 access key访问备份 bucket最小权限、定期轮换、启用 bucket 审计
远端集群 kubeconfig/token访问源/目标集群 API最小权限、分集群保存、定期轮换
JWT secret签发 Server access/refresh token生产环境必须替换默认值
License Secret平台许可通过平台接口或私有 values 安装
webhook TLS Secretadmission webhook TLS推荐 cert-manager 管理

Helm values 规则

公开发布包中不要提交真实账号密码。推荐使用:

imagePullSecret:
existingSecret: default-secret

如必须通过 Helm 创建 Secret,只能在私有 values 文件中设置,并确保该文件不进入公开仓库。

对象存储凭据

对象存储账号应具备:

  • 指定 bucket 的读写权限。
  • list 权限。
  • 必要的 multipart upload 权限。

不建议使用云账号主 AK/SK。应为容灾系统创建专用账号,并限制 bucket 范围。

远端集群凭据

注册源集群和目标集群时可使用 kubeconfig 或 token+endpoint。生产建议:

  • 每个业务集群单独凭据。
  • 不同环境隔离凭据。
  • 凭据仅授权被保护命名空间和 Velero 所需资源。
  • 删除集群前确认是否需要同步删除远端 Velero 资源。

验证与轮换

轮换凭据后应验证:

kubectl -n disaster-system get clusters.testudo.softcdata.com
kubectl -n disaster-system get storagerepositories.testudo.softcdata.com
kubectl -n disaster-system get disasterinstances.testudo.softcdata.com

同时在控制台检查集群连接、存储仓库状态、最新 DataSync/ResourceSync 状态。