#kubernetes #google-kubernetes-engine
# #kubernetes #google-kubernetes-engine
Вопрос:
У меня есть служба Kubernetes, запущенная в пространстве NA
имен, которая настроена для запуска от имени учетной записи службы A
. Служба планирует задание Kubernetes в пространстве NB
имен. Как мне выполнить задание в NB
act от имени учетной записи службы A
? Я попытался указать имя учетной записи службы для задания, но я получаю следующую ошибку:
Error creating: pods "pod_id_x is forbidden: error looking up service account NB/A: serviceaccount "A" not found
PS Я использую Google Kubernetes Engine
Ответ №1:
AFAIK это можно сделать, предоставив учетной записи службы [A] привязку ролей в пространстве имен NB, позволяющую ей развертывать модули. Вам просто нужна соответствующая роль.
Вы можете просто ссылаться на 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