本文档采用自动化机器翻译技术翻译。 尽管我们力求提供准确的译文,但不对翻译内容的完整性、准确性或可靠性作出任何保证。 若出现任何内容不一致情况,请以原始 英文 版本为准,且原始英文版本为权威文本。

秘密

密钥存储敏感数据,如密码、词元或密钥。它们可以包含一个或多个键值对。

本页面是关于密钥的一般信息。有关设置私有注册表的详细信息,请参阅注册表部分。

在配置工作负载时,您可以选择要包含哪些密钥。与配置映射一样,密钥可以被工作负载作为环境变量或卷挂载引用。

挂载的密钥会自动更新,除非它们作为子路径卷挂载。有关更新的密钥如何传播的详细信息,请参阅 Kubernetes文档

在名称空间中创建密钥

  1. 在左上角,点击 ☰ > 集群管理

  2. 转到您想要添加密钥的集群,然后点击*探索*。

  3. 要导航到密钥,您可以点击存储  密钥更多资源  内核  密钥

  4. 选择名称空间选项卡。

  5. 单击*创建*。

  6. 选择要创建的密钥类型。

  7. 为密钥选择一个*名称空间*。

  8. 输入密钥的*名称*。

    Kubernetes将密钥、证书和注册表都归类为 密钥,并且在一个名称空间中不能有两个密钥具有相同的名称。因此,为了防止冲突,您的密钥在工作区内必须具有唯一名称。

  9. 从*数据*中,点击*添加*以添加键值对。根据需要添加尽可能多的值。

    您可以通过复制和粘贴向密钥添加多个键值对。

    通过复制和粘贴向密钥添加多个键值对。
  10. 单击 保存

*结果:*您的密钥已添加到您选择的名称空间中。您可以通过单击 存储  密钥更多资源  核心  密钥 在 Rancher UI 中查看密钥。

挂载的密钥会自动更新,除非它们作为子路径卷挂载。有关更新的密钥如何传播的详细信息,请参阅 Kubernetes文档

在项目中创建密钥

在项目范围内创建密钥时,密钥会复制到项目内的所有名称空间中。

在 UI 中创建项目范围的密钥

  1. 在左上角,单击 ☰ > 集群管理

  2. 转到您想要添加密钥的集群,然后点击探索

  3. 要导航到密钥,您可以单击 存储 > 密钥更多资源 > 内核 > 密钥

  4. 选择 项目范围 选项卡。

  5. 单击 创建项目范围密钥

  6. 选择要创建的密钥类型。

  7. 为密钥选择一个 项目

  8. 输入密钥的名称

    Kubernetes将密钥、证书和注册表都归类为 密钥,并且在一个名称空间中不能有两个密钥具有相同的名称。如果您创建的项目范围密钥与项目名称空间中现有密钥同名,则现有密钥将被覆盖。

  9. 数据中,点击添加以添加键值对。根据需要添加尽可能多的值。

    您可以通过复制和粘贴向密钥添加多个键值对。

    通过复制和粘贴向密钥添加多个键值对。
  10. 单击 保存

结果:您的密钥已添加到项目内的每个名称空间。您可以通过单击 存储 > 密钥更多资源 > 内核 > 密钥 在 Rancher UI 中查看密钥。

使用 kubectl 创建项目范围的密钥

项目范围的密钥通过在管理集群中创建原始密钥来工作,这被称为 "项目后备名称空间"。Rancher 在此名称空间中存储重要的项目相关信息。您可以在项目 CRD 的 status.backingNamespace 字段中找到它,或者通过在管理集群中执行 kubectl get projects -A 来找到它。

为了使 Rancher 确认该密钥为项目范围的密钥,它还需要标签 management.cattle.io/project-scoped-secret: <projectID>

示例 yaml:

apiVersion: v1
data:
  key: ZG9n
kind: Secret
metadata:
  labels:
    management.cattle.io/project-scoped-secret: p-vwxyz
  name: test-secret
  namespace: c-abc123-p-vwxyz
type: Opaque

在上述 YAML 中,名称空间是项目 p-vwxyz 的后备名称空间,项目范围的密钥标签引用了 projectID。当应用于管理集群时,项目 p-vwxyz 中的所有名称空间都包含 test-secret 的副本。

下一步怎么办?

现在您已将密钥添加到名称空间中,您可以将其添加到您部署的工作负载中。

有关将密钥添加到工作负载的更多信息,请参见 部署工作负载