см. Документацию по k8s rbac:
Пример:
создать роль разработчика в пространстве имен разработки:
kind: Role
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
namespace: development
name: developer
rules:
- apiGroups: ["", "extensions", "apps"]
resources: ["deployments", "replicasets", "pods"]
verbs: ["list", "get", "watch"]
# You can use ["*"] for all verbs
затем свяжите это:
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
name: developer-role-binding
namespace: development
subjects:
- kind: User
name: DevDan
apiGroup: ""
roleRef:
kind: Role
name: developer
apiGroup: ""
также существует встроенная роль только для просмотра, которую вы можете привязать к пользователю:
https://kubernetes.io/docs/reference/access-authn-authz/rbac/#default-roles-and-role-bindings
C02W84XMHTD5:~ iahmad$ kubectl get clusterroles --all-namespaces | grep view
system:aggregate-to-view 17d
view 17d
но это роль представления всего кластера, если вы хотите, чтобы они видели только материал в определенном пространстве имен, а затем создайте роль представления в этом пространстве имен и свяжите ее, например, выше.