1.4. 在命名空间间共享配置映射


要在集群中的命名空间间共享配置映射,您需要创建 SharedConfigMap 自定义资源(CR)实例。

先决条件

您必须具有执行以下操作的权限:

  • 在集群范围的级别上创建 sharedconfigmaps.sharedresource.openshift.io 自定义资源定义(CRD)。
  • SharedConfigMap CR 创建 ClusterRole 对象。
  • 为 Shared Resource Container Storage Interface (CSI)驱动程序创建角色和角色绑定。
  • 管理集群中命名空间中的角色和角色绑定,以控制哪些用户可以获取、列出和监视这些实例。
  • 管理集群中命名空间中的角色和角色绑定,以控制挂载 CSI 卷的 pod 中的哪些服务帐户可以使用这些实例。
  • 访问包含您要共享 secret 的命名空间。

流程

  1. 为您要在集群中的命名空间之间共享的配置映射创建 SharedConfigMap CR 实例。请参见以下示例配置:

    apiVersion: sharedresource.openshift.io/v1alpha1
    kind: SharedConfigMap
    metadata:
      name: share-test-config 1
    spec:
      configMapRef:
        name: shared-config
        namespace: <name_of_the_source_namespace> 2
    Copy to clipboard
    1
    定义 SharedConfigMap CR 的名称。
    2
    <name_of_the_source_namespace > 替换为源命名空间的名称。
  2. 创建一个 ClusterRole CR 实例,它使用以下示例配置授予基于角色的访问控制(RBAC)权限来使用引用的共享资源:

    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRole
    metadata:
      name: <cluster_role_name> 1
    rules:
      - apiGroups:
          - sharedresource.openshift.io
        resources:
          - sharedconfigmaps
        resourceNames:
          - share-test-config 2
        verbs:
          - use
    Copy to clipboard
    1
    将 <cluster_role_name> 替换为集群角色的名称。
    2
    定义 SharedSecret CR 的名称。
  3. 创建 RoleRoleBinding 对象,为 CSI 驱动程序授予访问配置映射的权限:

    Role 对象示例

    apiVersion: rbac.authorization.k8s.io/v1
    kind: Role
    metadata:
      name: shared-test-config
      namespace: test-share-source 1
    rules:
      - apiGroups: [""]
        resources: ["configmaps"]
        resourceNames: ["shared-config"]
        verbs: ["get", "list", "watch"]
    Copy to clipboard

    1
    定义源命名空间的名称。

    RoleBinding 对象示例

     apiVersion: rbac.authorization.k8s.io/v1
     kind: RoleBinding
     metadata:
       name: shared-test-config
       namespace: test-share-source 1
     roleRef:
       apiGroup: rbac.authorization.k8s.io
       kind: Role
       name: shared-test-config
     subjects: 2
       - kind: ServiceAccount
         name: csi-driver-shared-resource
         namespace: openshift-builds
    Copy to clipboard

    1
    定义源命名空间的名称。
    2
    定义 Shared Resource CSI 驱动程序 DaemonSet 的服务帐户列表。使用 OpenShift 的 Build 部署时,服务帐户名称为 csi-driver-shared-resource,并且命名空间与部署 OpenShift Operator 的 Builds 相同。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat, Inc.