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.
Einrichten der rollenbasierten Zugriffskontrolle für Kubernetes
Cluster-Administratoren müssen außerdem die rollenbasierte Zugriffskontrolle (RBAC) von Kubernetes
Option 1: RBAC mithilfe von Helm-Chart einrichten
Das SageMaker HyperPod Serviceteam stellt ein Helm-Subdiagramm für die Einrichtung von RBAC zur Verfügung. Weitere Informationen hierzu finden Sie unter Installation von Paketen auf dem Amazon-EKS-Cluster mit Helm.
Option 2: RBAC manuell einrichten
Erstellen Sie ClusterRole und ClusterRoleBinding mit den Mindestberechtigungen und erstellen Sie Role und RoleBinding mit Mutationsberechtigungen.
So erstellen Sie ClusterRole & ClusterRoleBinding für die IAM-Rolle für Datenwissenschaftler
Erstellen Sie eine Konfigurationsdatei cluster_level_config.yaml auf Clusterebene wie folgt.
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 EKS-Cluster an.
kubectl apply -f cluster_level_config.yaml
Um eine Rolle und einen Namespace zu erstellen RoleBinding
Dies ist der Namespace-Trainingsoperator, der Trainingsjobs ausführt und von Resiliency standardmäßig überwacht wird. Die automatische Wiederaufnahme von Aufträgen kann nur im kubeflow-Namespace oder im Namespace mit dem Präfix aws-hyperpod unterstützt werden.
Erstellen Sie eine Rollenkonfigurationsdatei namespace_level_role.yaml wie folgt. In diesem Beispiel wird eine Rolle mit dem Namespace kubeflow 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 eines Zugriffseintrags mit Kubernetes-Gruppen
Nachdem Sie RBAC mithilfe einer der beiden oben genannten Optionen eingerichtet haben, verwenden Sie bitte den folgenden Beispielbefehl und ersetzen Sie die erforderlichen Informationen.
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 IAM-Benutzer für Wissenschaftler verwenden.