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

Can I connect one service account to multiple namespaces in Kubernetes?

我有几个命名空间 - 假设 NS1NS2。我在其中创建了服务帐户 - NS1 中的 sa1NS2 中的 sa2。我已经为 sa1 创建了角色和角色绑定,以便在 NS1sa2 中完成 NS2 中的事情。 我想要的是在 NS2 内授予 sa1 某些访问权限(只说 Pod Reader 角色)。

我想知道这是否可能?

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