メインコンテンツまでスキップ

Secret 准备

翻訳準備中このガイドは現在、簡体字中国語版のみ提供しています。翻訳版は今後追加されます。

进入 System Settings → Secret Management。Secret 只保存敏感材料,App 和 Cluster 保存的是 Secret 引用;后续轮换凭据时,不需要在每个部署环境重复填写明文。

1. Pipeline 常用 Secret​

类型何时需要主要字段被谁引用
Git私有代码仓库Username、Password/Access TokenApp Repository
Kubeconfig注册 K8S 集群完整 kubeconfig 内容K8S Cluster
HarborK8S 构建、推送和拉取镜像Username、PasswordCluster Harbor Config
SSH Private KeyDocker 主机或跳板机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​

  1. 点击 Secret Management 标题旁的 +。
  2. Type 选择 Git。
  3. 选择 Tenant 或 App Scope。
  4. Title 填写可辨识名称,例如 spark-console-git-read。
  5. Username 填 Git 用户名;Password 填密码或代码托管平台的 Access Token。
  6. 保存后回到 App Repository 选择该 Secret。
创建 Git Secret展示 Git 类型、作用域、Title、Username、Password 和 Description,敏感值必须打码。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。

Kubeconfig 与 Harbor Secret并列展示 Kubeconfig 大文本 Secret 和 Harbor 用户名密码 Secret;所有敏感内容打码。images/spark-pipeline-secret-runtime-02.webp
截图待补充

5. 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 集群。