1.2. 在命名空间间共享 secret


要在集群中的命名空间间共享 secret,您可以为 Secret 对象创建一个 SharedSecret 自定义资源(CR)实例。

先决条件

  • 您已创建了要在其他命名空间中共享的 Secret 对象。
  • 您必须具有执行以下操作的权限:

    • 您订阅了集群,并通过 Insights Operator 同步授权密钥。
    • 您在集群范围的级别上创建了 sharedsecrets.sharedresource.openshift.io 自定义资源定义(CRD)的实例。
    • SharedConfigMap CR 创建 ClusterRole 对象。
    • 为 Shared Resource CSI Driver 创建 RoleRoleBinding 对象。
    • 您可以在集群中的命名空间中管理角色和角色绑定,以控制用户。
    • 您可以管理角色和角色绑定,以控制 pod 指定的服务帐户是否可以挂载引用您要使用的 SecretConfigmap CR 的 Container Storage Interface (CSI)卷。
    • 您可以访问包含您要共享 secret 的命名空间。

流程

  1. 使用以下示例配置,创建一个 SharedSecret 实例,在集群中命名空间间共享引用的 Secret

    apiVersion: sharedresource.openshift.io/v1alpha1
    kind: SharedSecret
    metadata:
      name: shared-test-secret 1
    spec:
      secretRef:
        name: test-secret
        namespace: <name_of_the_source_namespace>
    1
    定义 SharedSecret CR 的名称。
  2. 使用以下示例配置,创建一个 ClusterRole 对象来授予 RBAC 权限以使用引用的共享资源:

    . apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRole
    metadata:
      name: use-shared-test-secret 1
    rules:
      - apiGroups:
          - sharedresource.openshift.io
        resources:
          - sharedsecrets
        resourceNames:
          - shared-test-secret
        verbs:
          - use
    1
    定义 ClusterRole CR 的名称。
  3. 创建 RoleRoleBinding 对象,为 Shared Resources CSI 驱动程序授予访问 SharedSecret 对象的权限:

    Role 对象示例

    apiVersion: rbac.authorization.k8s.io/v1
    kind: Role
    metadata:
      name: share-etc-pki-entitlement 1
      namespace: openshift-config-managed
    rules:
      - apiGroups:
          - ""
        resources:
          - secrets
        resourceNames:
          - etc-pki-entitlement
        verbs:
          - get
          - list
          - watch

    1
    定义 Role CR 的名称。

    RoleBinding 对象示例

    apiVersion: rbac.authorization.k8s.io/v1
    kind: RoleBinding
    metadata:
      name: share-etc-pki-entitlement 1
      namespace: openshift-config-managed
    roleRef:
      apiGroup: rbac.authorization.k8s.io
      kind: Role
      name: share-etc-pki-entitlement 2
    subjects:
      - kind: ServiceAccount
        name: csi-driver-shared-resource 3
        namespace: openshift-builds

    1
    定义 RoleBinding CR 的名称。
    2
    定义 Role CR 的名称。
    3
    定义 ServiceAccount CR 的名称。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.