CodeBlanks Logo Icon CodeBlanks

RoleBinding

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 dev

Uygulama 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

terminal
# buraya yaz

Örnek çözüm

terminal
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 dev

Beklenen çı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.

Soru
subjects:
  - kind: User
    name: ayse
____:
  kind: Role
  name: pod-okuyucu
Cevap
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

İleri seviye bölümündeki tüm dersler