תפקידים ב-Kubernetes

בקטעים הבאים מתוארים תפקידי האשכול (ClusterRole) של Kubernetes שנוצרים על ידי Kf, ופירוט של ההרשאות שכלולות בכל תפקיד אשכול.

תפקיד מפתח המרחב

תפקיד המפתח במרחב כולל את כל ההרשאות שמפתחי אפליקציות צריכים כדי לפרוס ולנהל אפליקציות במרחב Kf.

אפשר לאחזר את ההרשאות שניתנו למפתחי מרחבים באשכול באמצעות הפקודה הבאה.

kubectl describe clusterrole space-developer

ההתקנה של Kf כברירת מחדל מספקת את ההרשאות הבאות:

PolicyRule:
  Resources                               Non-Resource URLs  Resource Names  Verbs
  ---------                               -----------------  --------------  -----
  events                                  []                 []              [*]
  secrets                                 []                 []              [*]
  *.kf.dev                                []                 []              [*]
  networkpolicies.networking.k8s.io       []                 []              [*]
  pods/exec                               []                 []              [create]
  *.upload.kf.dev                         []                 []              [create]
  pods/log                                []                 []              [get list watch]
  pods                                    []                 []              [get list watch]
  rolebindings.rbac.authorization.k8s.io  []                 []              [get list watch]

תפקיד מבקר המרחב

תפקיד בודק המרחב המשותף כולל הרשאות לקריאה בלבד, שמשמשות בודקים וכלים אוטומטיים לאימות אפליקציות במרחב Kf.

אפשר לאחזר את ההרשאות שניתנו למבקרים במרחב באשכול באמצעות הפקודה הבאה.

kubectl describe clusterrole space-auditor

ההתקנה של Kf כברירת מחדל מספקת את ההרשאות הבאות:

PolicyRule:
  Resources                               Non-Resource URLs  Resource Names  Verbs
  ---------                               -----------------  --------------  -----
  events                                  []                 []              [*]
  apps.kf.dev                             []                 []              [get list watch]
  rolebindings.rbac.authorization.k8s.io  []                 []              [get list watch]

תפקיד מנהל של מרחב

התפקיד 'מנהל מרחב' כולל הרשאות שמאפשרות להעביר סמכויות לאחרים במרחב Kf.

אפשר לאחזר את ההרשאות שניתנו למנהלי מרחבים באשכול באמצעות הפקודה הבאה.

kubectl describe clusterrole space-manager

ההתקנה של Kf כברירת מחדל מספקת את ההרשאות הבאות:

PolicyRule:
  Resources                               Non-Resource URLs  Resource Names     Verbs
  ---------                               -----------------  --------------     -----
  clusterroles.rbac.authorization.k8s.io  []                 [space-auditor]    [bind]
  clusterroles.rbac.authorization.k8s.io  []                 [space-developer]  [bind]
  clusterroles.rbac.authorization.k8s.io  []                 [space-manager]    [bind]
  rolebindings.rbac.authorization.k8s.io  []                 []                 [get list update patch watch]
  apps.kf.dev                             []                 []                 [get list watch]

תפקיד דינמי של מנהל/ת מרחב

כל מרחב Kf יוצר ClusterRole בשם SPACE_NAME-manager, כאשר SPACE_NAME-manager נקרא תפקיד המנהל הדינמי.

‫Kf מעניק אוטומטית לכל הנושאים עם התפקיד space-manager במרחב את תפקיד המנהל הדינמי בהיקף האשכול. ההרשאות של התפקיד 'מנהל דינמי' מאפשרות למנהלי המרחב לעדכן את ההגדרות במרחב עם השם שצוין.

אפשר לאחזר את ההרשאות שניתנו לתפקיד הניהול הדינמי לכל מרחב באשכול באמצעות הפקודה הבאה.

kubectl describe clusterrole SPACE_NAME-manager

ההתקנה של Kf כברירת מחדל מספקת את ההרשאות הבאות:

PolicyRule:
  Resources      Non-Resource URLs  Resource Names  Verbs
  ---------      -----------------  --------------  -----
  spaces.kf.dev  []                 [SPACE_NAME]    [get list watch update patch]

תפקיד קורא באשכול Kf

מערכת Kf מקצה באופן אוטומטי את התפקיד kf-cluster-reader לכל המשתמשים באשכול שכבר יש להם את התפקיד space-developer, space-auditor או space-manager במרחב.

אפשר לאחזר את ההרשאות שניתנו לקוראי אשכול Space Kf באשכול באמצעות הפקודה הבאה.

kubectl describe clusterrole kf-cluster-reader

ההתקנה של Kf כברירת מחדל מספקת את ההרשאות הבאות:

PolicyRule:
  Resources                     Non-Resource URLs  Resource Names  Verbs
  ---------                     -----------------  --------------  -----
  namespaces                    []                 [kf]            [get list watch]
  clusterservicebrokers.kf.dev  []                 []              [get list watch]
  spaces.kf.dev                 []                 []              [get list watch]