首页 > 解决方案 > 我可以将一个服务帐户连接到 Kubernetes 中的多个命名空间吗?

问题描述

我有几个命名空间 - 假设NS1NS2. 我在那些 - sa1inNS1sa2in 中创建了服务帐户NS2。我创建了角色和角色绑定,sa1以便在. 我想要的是在(比如说只有 Pod Reader 角色)内给予一定的访问权限。NS1sa2NS2sa1NS2

我想知道这是否可能?

标签: kubernetesopenshiftkubectlrbackubernetes-namespace

解决方案


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

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

推荐阅读