Skip to content

Czym jest ClusterRole w Kubernetes?

Jest to podobny mechanizm do Role w RBAC, lecz określamy dostęp do całego klastra, a nie do konkretnych zasobów, w konkretnych namespace.

Dodawany jest dostęp dla konta, grupy do całego klastra, do konkretnego endpointa w API. Przykładem może być zarządzanie Nodami w klastrze (np. dodawanie nowego, wyświetlanie listy aktualnych) lub zasoby dyskowe (storage - wyświetlanie PV, usuwanie PVC, itd.).

Info

Należy pamiętać, że ClusterRole działa nie tylko w obrębie tylko takich obiektów, które nie są objęte Namespace w Kubernetes.

Jeżeli da się dla dostęp ClusterRole do Podów, przykładowo dla usera, wówczas ma on dostęp do wszystkich Podów w klastrze (wszystkie namespace)!

Przykładowy ClusterRole

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
    name: <nazwa_cluster-role>
rules:
    - apiGroups: [""]
      resources: ["zasób, np. nodes"]
      verbs: ["lista_dostępów, np. list,delete,get"]