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"]
Другие вопросы по тегам