我可以将一个服务帐户连接到Kubernetes中的多个名称空间吗?

时间:2018-12-28 15:07:44

标签: kubernetes kubectl kubernetes-helm

我有几个命名空间-假设为NS1NS2。我在其中创建了服务帐户-sa1中的NS1sa2中的NS2。我为sa1创建了角色和角色绑定,以在NS1内和sa2内进行NS2中的工作。 我想要的是给sa1内的NS2某些访问权限(仅说Pod Reader角色)。

我想知道是否有可能?

1 个答案:

答案 0 :(得分:5)

您可以简单地从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