Моя цель — просмотреть журналы подов, принадлежащих другим пространствам имен, чтобы диагностировать проблемы.
Вот разрешения, которые я настроил:
apiVersion: v1
kind: ServiceAccount
metadata:
name: default
namespace: jenkins
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: listar-recursos
rules:
- apiGroups: [""]
resources: ["pods", "pods/log"]
verbs: ["get", "list", "watch"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: asgina-lista-recursos
namespace: jenkins
subjects:
- kind: ServiceAccount
name: default
namespace: jenkins
roleRef:
kind: ClusterRole
name: listar-recursos
apiGroup: rbac.authorization.k8s.io
Вот результат после запуска из модуля внутри пространства имен Jenkins:
kubectl logs -l name=myapp -n anothernamespace
Error from server (Forbidden): pods is forbidden:
User "system:serviceaccount:jenkins:default"
cannot list resource "pods" in API group ""
in the namespace "anothernamespace"
Прежде чем спрашивать, я внимательно прочитал эту статью: https://kubernetes.io/docs/reference/access-authn-authz/rbac/

Судя по предоставленной вами конфигурации YAML, ключевая проблема, которую я здесь вижу, заключается в том, что вы настроили RoleBinding в пространстве имен jenkins, что ограничивает объем разрешений, предоставленных этому конкретному пространству имен. Однако для доступа к ресурсам, таким как модули и их журналы, в разных пространствах имен, вам необходимо использовать ClusterRoleBinding вместо RoleBinding.
ClusterRoleBinding предоставляет разрешения, определенные в связанной ClusterRole, пользователям или группам во всех пространствах имен.
Итак, сначала я предлагаю заменить ваш RoleBinding на ClusterRoleBinding, то есть:
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: asgina-lista-recursos-global
subjects:
- kind: ServiceAccount
name: default
namespace: jenkins
roleRef:
kind: ClusterRole
name: listar-recursos
apiGroup: rbac.authorization.k8s.io
Эта конфигурация привязывает listar-recursos ClusterRole к default ServiceAccount в пространстве имен jenkins, но привязка действует во всех пространствах имен из-за использования ClusterRoleBinding.
Затем приступайте к применению этой обновленной конфигурации к вашему кластеру Kubernetes.
После применения обновленного ClusterRoleBinding снова протестируйте получение журналов из другого пространства имен, и вы сможете получить доступ к журналам во всех пространствах имен.