RoleBinding
- Docker & Kubernetes kursu
- İleri seviye
- Ders 45/70
- 4 dk
RoleBinding ile Role atamayı öğrenirsin.
RoleBinding
RoleBinding, bir rolü bir ya da daha çok özneye (subjects) bağlar. Özne türleri User, Group ve ServiceAccount'tır. roleRef sonradan değiştirilemez:
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: ayse-pod-okuyucu
namespace: dev
subjects:
- kind: User
name: ayse
apiGroup: rbac.authorization.k8s.io
roleRef:
kind: Role
name: pod-okuyucu
apiGroup: rbac.authorization.k8s.io
Komutla bağlama
Bağlamalar komutla da oluşturulur. ClusterRoleBinding cluster genelinde geçerlidir ve dikkatle verilir:
kubectl create rolebinding ayse-view --clusterrole=view --user=ayse -n dev
kubectl create rolebinding ekip-edit --clusterrole=edit --group=gelistiriciler -n dev
kubectl create clusterrolebinding izleme-okuma --clusterrole=view --serviceaccount=izleme:prometheus
kubectl get rolebindings -n devUygulama Bağlama oluştur
Üç komut yaz: dev'de ayse kullanıcısına view ClusterRole'ünü veren ayse-view RoleBinding'i; dev'de gelistiriciler grubuna edit veren ekip-edit RoleBinding'i oluştur; dev'deki RoleBinding'leri listele.
Başlangıç kodu
# buraya yazÖrnek çözüm
kubectl create rolebinding ayse-view --clusterrole=view --user=ayse -n dev
kubectl create rolebinding ekip-edit --clusterrole=edit --group=gelistiriciler -n dev
kubectl get rolebindings -n devBeklenen çıktı
rolebinding.rbac.authorization.k8s.io/ayse-view created rolebinding.rbac.authorization.k8s.io/ekip-edit created NAME ROLE AGE ayse-view ClusterRole/view 5s ekip-edit ClusterRole/edit 3s
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Bir RoleBinding, ClusterRole'e başvurursa izinler nerede geçerli olur?
- Tüm cluster'da
- Hiçbir yerde
- kube-system'de
- Yalnızca RoleBinding'in namespace'inde Doğru cevap
Açıklama: Bu, hazır view/edit rollerini tek bir namespace'e vermenin yaygın yoludur.
2 Bağlanan rolü belirten alanı yaz.
subjects:
- kind: User
name: ayse
____:
kind: Role
name: pod-okuyucu
subjects:
- kind: User
name: ayse
roleRef:
kind: Role
name: pod-okuyucu
Açıklama: roleRef bağlamanın hangi rolü verdiğidir.
3 Eşleştir.
| Kavram | Anlamı |
|---|---|
subjects |
Kime |
roleRef |
Hangi rol |
RoleBinding + ClusterRole |
Tek namespace'te |
ClusterRoleBinding |
Tüm cluster |