【问题标题】:K8s - using service accounts across namespacesK8s - 跨命名空间使用服务帐户
【发布时间】:2021-10-13 20:46:00
【问题描述】:

我有一个服务帐户,在默认命名空间中,具有一个 clusterRoleBinding 到一个可以观察作业的 clusterRole。

我希望在任何命名空间中使用此服务帐户,而不是必须在每个新命名空间中定义一个新服务帐户。初始化容器使用服务帐户检查作业是否已完成,然后才允许继续部署。

不确定我需要提供哪些额外信息,但会根据要求提供。

【问题讨论】:

    标签: kubernetes k8s-serviceaccount


    【解决方案1】:

    您可以简单地从 RoleBinding 中的另一个命名空间引用 ServiceAccount:

    例如,下面是一个示例,用于将一个命名空间中的服务帐户引用到另一个命名空间以仅读取 pod。

    apiVersion: rbac.authorization.k8s.io/v1beta1
    kind: Role
    metadata:
      name: pod-reader
      namespace: ns2
    rules:
    - apiGroups: [""]
      resources: ["pods"]
      verbs: ["get", "list", "watch"]
    ---
    apiVersion: rbac.authorization.k8s.io/v1
    kind: RoleBinding
    metadata:
      name: pod-reader-from-ns1
      namespace: ns2
    roleRef:
      apiGroup: rbac.authorization.k8s.io
      kind: Role
      name: pod-reader
    subjects:
    - kind: ServiceAccount
      name: ns1-service-account
      namespace: ns1
    

    【讨论】:

    • 是的,我认为这是一条路线——我真正想要的是在默认情况下描述一个服务帐户并在其他命名空间中使用它,但这不是一回事。
    猜你喜欢
    • 2019-03-30
    • 1970-01-01
    • 1970-01-01
    • 2021-01-21
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-14
    相关资源
    最近更新 更多