本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用角色型存取控制 (RBAC) 設定 Apache Livy 和 Spark 應用程式許可
若要部署 Livy,Amazon EMR on EKS 會建立伺服器服務帳戶和角色,以及 Spark 服務帳戶和角色。這些角色必須具備必要的 RBAC 許可,才能完成設定並執行 Spark 應用程式。
伺服器服務帳戶和角色的 RBAC 許可
Amazon EMR on EKS 會建立 Livy 伺服器服務帳戶和角色,以管理 Spark 任務的 Livy 工作階段,以及將流量路由到輸入和其他資源,以及往返輸入和其他資源。
此服務帳戶的預設名稱為 emr-containers-sa-livy
。它必須具有下列許可。
rules: - apiGroups: - "" resources: - "namespaces" verbs: - "get" - apiGroups: - "" resources: - "serviceaccounts" "services" "configmaps" "events" "pods" "pods/log" verbs: - "get" "list" "watch" "describe" "create" "edit" "delete" "deletecollection" "annotate" "patch" "label" - apiGroups: - "" resources: - "secrets" verbs: - "create" "patch" "delete" "watch" - apiGroups: - "" resources: - "persistentvolumeclaims" verbs: - "get" "list" "watch" "describe" "create" "edit" "delete" "annotate" "patch" "label"
Spark 服務帳戶和角色的 RBAC 許可
Spark 驅動程式 Pod 需要與該 Pod 位於相同命名空間的 Kubernetes 服務帳戶。此服務帳戶需要管理執行器 Pod 和驅動程式 Pod 所需任何資源的許可。除非命名空間中的預設服務帳戶具有所需的許可,否則驅動程式會失敗並結束。需要下列 RBAC 許可。
rules: - apiGroups: - "" "batch" "extensions" "apps" resources: - "configmaps" "serviceaccounts" "events" "pods" "pods/exec" "pods/log" "pods/portforward" "secrets" "services" "persistentvolumeclaims" "statefulsets" verbs: - "create" "delete" "get" "list" "patch" "update" "watch" "describe" "edit" "deletecollection" "patch" "label"