Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Einrichtung der rollenbasierten Zugriffskontrolle für Kubernetes
Cluster-Admin-Benutzer müssen außerdem die rollenbasierte Zugriffskontrolle von Kubernetes (RBAC)
Option 1: Zur Einrichtung mithilfe von Helm Chart RBAC
Das SageMaker HyperPod Serviceteam stellt eine Helm-Untertabelle für die Einrichtung RBAC zur Verfügung. Weitere Informationen hierzu finden Sie unter Installieren Sie Pakete auf dem EKS Amazon-Cluster mit Helm.
Option 2: Manuelles Einrichten RBAC
Erstellen Sie ClusterRole
und ClusterRoleBinding
mit den Mindestberechtigungen und erstellen Sie Role
und RoleBinding
mit Mutationsberechtigungen.
Um ClusterRole
& ClusterRoleBinding
für die IAM Rolle eines Datenwissenschaftlers zu erstellen
Erstellen Sie cluster_level_config.yaml
wie folgt eine Konfigurationsdatei auf Clusterebene.
kind: ClusterRole apiVersion: rbac.authorization.k8s.io/v1 metadata: name: hyperpod-scientist-user-cluster-role rules: - apiGroups: [""] resources: ["pods"] verbs: ["list"] - apiGroups: [""] resources: ["nodes"] verbs: ["list"] --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: hyperpod-scientist-user-cluster-role-binding subjects: - kind: Group name: hyperpod-scientist-user-cluster-level apiGroup: rbac.authorization.k8s.io roleRef: kind: ClusterRole name: hyperpod-scientist-user-cluster-role # this must match the name of the Role or ClusterRole you wish to bind to apiGroup: rbac.authorization.k8s.io
Wenden Sie die Konfiguration auf den Cluster anEKS.
kubectl apply -f cluster_level_config.yaml
Um Role & RoleBinding im Namespace zu erstellen
Dies ist der Namespace-Trainingsoperator, der Trainingsjobs ausführt und von Resiliency standardmäßig überwacht wird. Die automatische Wiederaufnahme von Job kann nur in kubeflow
Namespaces oder Namespace-Präfixen unterstützt werden. aws-hyperpod
Erstellen Sie wie folgt eine Rollenkonfigurationsdatei. namespace_level_role.yaml
In diesem Beispiel wird eine Rolle im kubeflow
Namespace erstellt
kind: Role apiVersion: rbac.authorization.k8s.io/v1 metadata: namespace: kubeflow name: hyperpod-scientist-user-namespace-level-role ### # 1) add/list/describe/delete pods # 2) get/list/watch/create/patch/update/delete/describe kubeflow pytroch job # 3) get pod log ### rules: - apiGroups: [""] resources: ["pods"] verbs: ["create", "get"] - apiGroups: [""] resources: ["nodes"] verbs: ["get", "list"] - apiGroups: [""] resources: ["pods/log"] verbs: ["get", "list"] - apiGroups: [""] resources: ["pods/exec"] verbs: ["get", "create"] - apiGroups: ["kubeflow.org"] resources: ["pytorchjobs", "pytorchjobs/status"] verbs: ["get", "list", "create", "delete", "update", "describe"] - apiGroups: [""] resources: ["configmaps"] verbs: ["create", "update", "get", "list", "delete"] - apiGroups: [""] resources: ["secrets"] verbs: ["create", "get", "list", "delete"] --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: namespace: kubeflow name: hyperpod-scientist-user-namespace-level-role-binding subjects: - kind: Group name: hyperpod-scientist-user-namespace-level apiGroup: rbac.authorization.k8s.io roleRef: kind: Role name: hyperpod-scientist-user-namespace-level-role # this must match the name of the Role or ClusterRole you wish to bind to apiGroup: rbac.authorization.k8s.io
Wenden Sie die Konfiguration auf den EKS Cluster an.
kubectl apply -f namespace_level_role.yaml
Erstellen Sie einen Zugriffseintrag für Kubernetes-Gruppen
Nachdem Sie eine der beiden oben genannten Optionen eingerichtet haben, verwenden Sie den folgenden Beispielbefehl, um die erforderlichen Informationen zu ersetzen. RBAC
aws eks create-access-entry \ --cluster-name
<eks-cluster-name>
\ --principal-arn arn:aws:iam::<AWS_ACCOUNT_ID_SCIENTIST_USER>
:role/ScientistUserRole \ --kubernetes-groups '["hyperpod-scientist-user-namespace-level","hyperpod-scientist-user-cluster-level"]'
Für den principal-arn
Parameter müssen Sie den verwendenIAMNutzer für Wissenschaftler.