Role ve ClusterRole
- Docker & Kubernetes kursu
- İleri seviye
- Ders 44/70
- 4 dk
Role ve ClusterRole farklarını öğrenirsin.
Role ve ClusterRole
Role bir namespace'e özgüdür; ClusterRole cluster kapsamlıdır: tüm namespace'lerde ya da node, PV gibi cluster kapsamlı kaynaklarda geçerli olabilir. Her kural apiGroups, resources ve verbs içerir:
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: pod-okuyucu
namespace: dev
rules:
- apiGroups: [""]
resources: ["pods", "pods/log"]
verbs: ["get", "list", "watch"]
"" çekirdek API grubudur (pods, services, configmaps); deployment'lar "apps" grubundadır.
Hazır ClusterRole'ler
Kubernetes kullanıma hazır ClusterRole'ler getirir: view (okuma, Secret hariç), edit (çoğu kaynağı değiştirme, RBAC hariç), admin (namespace içinde her şey), cluster-admin (her şey). Kendi rolünü yazmadan önce bunlar değerlendirilir:
$ kubectl get clusterroles view edit admin cluster-admin
kubectl describe clusterrole view | head -12
kubectl create role deploy-yonetici --verb=get,list,create,update,patch --resource=deployments -n devUygulama Pod okuyucu rolü
Bir Role YAML'ı yaz: rbac.authorization.k8s.io/v1; adı pod-okuyucu, namespace'i dev; tek kural: apiGroups: [""], resources: ["pods", "pods/log"], verbs: ["get", "list", "watch"].
Başlangıç kodu
# buraya yazÖrnek çözüm
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: pod-okuyucu
namespace: dev
rules:
- apiGroups: [""]
resources: ["pods", "pods/log"]
verbs: ["get", "list", "watch"]Beklenen çıktı
role.rbac.authorization.k8s.io/pod-okuyucu created
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Node'ları listeleme izni Role ile verilebilir mi?
- Hayır; node cluster kapsamlıdır, ClusterRole gerekir Doğru cevap
- Evet
- Yalnızca default namespace'te
- Yalnızca okumak için
Açıklama: Role yalnızca kendi namespace'indeki kaynakları kapsar.
2 Çekirdek API grubunu belirt.
rules:
- apiGroups: [____]
resources: ["pods"]
rules:
- apiGroups: [""]
resources: ["pods"]
Açıklama: Çekirdek grup boş dizgedir.
3 Eşleştir.
| Kavram | Anlamı |
|---|---|
view |
Okuma (Secret hariç) |
edit |
Değiştirme |
admin |
Namespace yöneticisi |
cluster-admin |
Her şey |