web-dev-qa-db-fra.com

Puis-je connecter un compte de service à plusieurs espaces de noms dans Kubernetes?

J'ai quelques espaces de noms - supposez NS1 et NS2. J'ai créé des comptes de service dans ces - sa1 dans NS1 et sa2 dans NS2. J'ai créé des rôles et des liaisons de rôles pour sa1 pour faire des choses dans NS1 et sa2 dans NS2. Ce que je veux c'est donner sa1 certains accès dans NS2 (disons uniquement le rôle Pod Reader).

Je me demande si c'est possible ou non?

9
rahul

Vous pouvez simplement référencer un ServiceAccount à partir d'un autre espace de noms dans le RoleBinding:

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
15
Robert Panzer