Secret 准备
进入 System Settings → Secret Management。Secret 只保存敏感材料,App 和 Cluster 保存的是 Secret 引用;后续轮换凭据时,不需要在每个部署环境重复填写明文。
1. Pipeline 常用 Secret
| 类型 | 何时需要 | 主要字段 | 被谁引用 |
|---|---|---|---|
| Git | 私有代码仓库 | Username、Password/Access Token | App Repository |
| Kubeconfig | 注册 K8S 集群 | 完整 kubeconfig 内容 | K8S Cluster |
| Harbor | K8S 构建、推送和拉取镜像 | Username、Password | Cluster Harbor Config |
| SSH Private Key | Docker 主机或跳板机 | OpenSSH 私钥全文 | Docker Host / Bastion Host |
MYSQL、OBJECT_STORAGE 等 Secret 可供应用其他能力使用,但不是本手册三种 Pipeline 示例的必需前置项。
2. Secret 作用域
- Tenant:同一 Tenant 中的多个 App 可复用,适合集群凭据、共享 Harbor 和团队 Git 账号。
- App:只供指定 App 使用,适合仓库专用 Deploy Token 或项目级访问令牌。
遵循最小权限原则。Git 凭据只需具备读取仓库、读取分支以及在使用 Create Branch 时创建分支所需的权限;不要为了方便使用平台管理员凭据。
3. 创建 Git Secret
- 点击 Secret Management 标题旁的
+。 - Type 选择 Git。
- 选择 Tenant 或 App Scope。
- Title 填写可辨识名称,例如
spark-console-git-read。 - Username 填 Git 用户名;Password 填密码或代码托管平台的 Access Token。
- 保存后回到 App Repository 选择该 Secret。
images/spark-pipeline-secret-git-01.webp公共仓库可以不选择 Git Secret。私有仓库如果省略 Secret,后续分支查询或构建会失败。
4. K8S 与 Harbor Secret
Kubeconfig
创建 Kubeconfig 类型 Secret 时,将可访问目标集群的完整 kubeconfig 粘贴到 Secret Content。也可以在注册 K8S 集群时直接粘贴 kubeconfig;Spark 会保存加密后的凭据引用。
建议使用受限 Service Account,只授权 Pipeline 所需 namespace 和资源,不要长期使用个人 ~/.kube/config 中的集群管理员上下文。
Harbor
创建 Harbor 类型 Secret,填写 Registry 登录用户名和密码。Registry 地址不放在 Secret 中,而是在集群的 Harbor Config 中配置,例如 harbor.example.com:30443。
images/spark-pipeline-secret-runtime-02.webp5. Docker SSH Secret
Docker Cluster 通过 SSH 管理主机。创建 SSH Private Key 类型 Secret,并粘贴 OpenSSH 私钥全文;随后在 Docker Runtime 中创建 Host 时选择它。
私钥必须对应 Docker 主机上的 SSH 用户,并且该用户能够运行 Docker 命令。若必须经过跳板机,先在 System Settings 创建 Bastion Host,再在 Docker Host 中引用它。
6. 轮换和删除
- 更新 Secret 后,先测试关联的 Cluster 或 Repository,再运行生产 Pipeline。
- 不要在 Pipeline 的 Build Command、环境变量、Description 或日志中粘贴明文凭据。
- 删除前先确认没有 App、Cluster、Host 或集成仍在引用它。
- 截图和工单中只展示 Title 与类型,隐藏 Username、Token、私钥和 kubeconfig 内容。
下一步根据目标运行时选择配置 K8S 集群或配置 Docker 集群。