KubernetesClientException: ClusterRole или Role
При развертывании службы с помощью клиента Cloud Cloud Kubernetes Discovery я получаю исключение KubernetesClientException, в котором говорится, что пользователю по умолчанию запрещен доступ к модулям.
Я уже добавил роль и Rolebinding, как указано здесь
В руководстве говорится, что ClusterRole необходим. Но это не вариант для меня, поскольку мы делим кластер с другими отделами. Я только хочу, чтобы роль влияла на наш проект / пространство имен.
Требуется ли ClusterRole или роль должна быть достаточной?
1 ответ
Чтобы разрешить доступ к этой учетной записи службы, необходимо создать роль с необходимыми разрешениями и назначить ее учетной записи. Это делается с ролью кластера или ролью, если она требуется только в одном пространстве имен, и привязкой роли, который является специфическим для пространства имен.
Это говорит о том, что вы можете использовать либо Role, либо ClusterRole.
Помните, что при создании роли необходимо определить пространство имен. т.е.
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"]