#kubernetes #rbac #openshift-enterprise #spring-cloud-kubernetes
#kubernetes #rbac #openshift-enterprise #spring-cloud-kubernetes
Вопрос:
При развертывании службы с Spring Cloud Kubernetes Discovery Client я получаю исключение KubernetesClientException, в котором указывается, что пользователю «по умолчанию» запрещено получать доступ к pod.
Я уже добавил роль и привязку ролей, как указано здесь
В руководстве указано, что кластерная роль необходима. Но для меня это не вариант, поскольку мы разделяем кластер с другими отделами. Я только хочу, чтобы роль влияла на наш проект / пространство имен.
Требуется ли кластерная роль или роли должно быть достаточно?
Ответ №1:
Чтобы разрешить учетной записи службы доступ к ним, необходимо создать роль с необходимыми разрешениями и назначить ее учетной записи.Это делается с помощью кластерной роли или роли, если она требуется только в одном пространстве имен, и привязки роли, специфичной для пространства имен.
Здесь говорится, что вы можете использовать либо роль, либо кластерную роль.
Просто имейте в виду, что при создании роли должно быть определено пространство имен. т.е.
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
namespace: mynamespace
name: service-discovery-client
rules:
- apiGroups: [""] # "" indicates the core API group
resources: ["services", "pods", "configmaps", "endpoints"]
verbs: ["get", "watch", "list"]