>_ IzzyLab

Практическое задание

k8s: RBAC Role и RoleBinding

сложно

В /root/rbac.yaml (два документа) RBAC настроен с ошибками: Role pod-reader разрешает только list подов (нужен ещё get), а RoleBinding read-pods ссылается на несуществующую роль. Почини оба объекта.

Что потренируешь:
  • kubernetes
  • rbac
  • role
  • rolebinding
  • yq

Разбор темы

RBAC в Kubernetes строится из двух частей: Role описывает НАБОР разрешений (в правилах — apiGroups, resources и глаголы verbs), а RoleBinding связывает эту роль с субъектом (пользователем, группой или ServiceAccount). Глаголы гранулярны: list (перечислить коллекцию) и get (прочитать конкретный объект по имени) — разные права, и одно не подразумевает другое. Ключевой момент: roleRef.name в привязке должен точно совпадать с именем существующей Role — ссылка на несуществующую роль не даёт ошибки создания, но и прав не выдаёт. Объекты в файле разделены ---.

Что проверяется

  1. оба манифеста валидны (kubeconform)
  2. Role разрешает get на pods
  3. RoleBinding ссылается на pod-reader

Как это выглядит