Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Configuration d’un cluster Amazon EKS dans Studio
Vous effectuez la majeure partie de cette configuration à partir de la page des détails de votre HyperPod cluster dans la console SageMaker AI. Ouvrez la console SageMaker AI, choisissez les HyperPod clusters, choisissez votre cluster, puis choisissez l'onglet Configuration. Sous Accès au cluster pour les SageMaker domaines, choisissez Gérer l'accès. C'est ici que vous créez ou visualisez un domaine et que vous y attachez les politiques d'accès au cluster qui permettent aux utilisateurs de Studio d'accéder au cluster.
La capture d'écran suivante montre la section Accès au cluster pour SageMaker les domaines de l'onglet Configuration.
Les instructions suivantes expliquent comment configurer un cluster Amazon EKS dans Studio.
-
Sur la page Gérer l'accès, sélectionnez un domaine existant. L'accès de Studio à un HyperPod cluster passe par un domaine, et le rôle d'exécution du domaine est le principal IAM que Studio utilise pour agir sur votre cluster. Pour en savoir plus sur la création d’un domaine, consultez Guide pour configurer Amazon SageMaker AI.
-
Associez les autorisations suivantes à votre rôle d'exécution depuis la console IAM.
Pour plus d'informations sur les rôles d'exécution de l' SageMaker IA et sur la manière de les modifier, consultezComprendre les autorisations d’espace de domaine et les rôles d’exécution.
Pour découvrir comment attacher des politiques à un utilisateur ou à un groupe IAM, consultez Ajout et suppression d’autorisations basées sur l’identité IAM.
Avant de joindre la politique, remplacez les deux exemples d'ARN par les vôtres :
-
Remplacez-le
arn:aws:sagemaker:us-east-1:111122223333:cluster/hyperpod-cluster-namepar l'ARN de votre HyperPod cluster. -
Remplacez-le
arn:aws:eks:us-east-1:111122223333:cluster/eks-cluster-namepar l'ARN de votre cluster Amazon EKS. Il apparaît deux fois, dedansUseEksClusterPermissionset dedansDescribeSpacesAddon, où il porte une traînée./*
Il s'agit de deux ressources différentes avec deux ARN différents. Recherchez l'ARN du HyperPod cluster dans la console SageMaker AI et l'ARN du cluster Amazon EKS dans la console Amazon EKS. Si vous laissez les exemples de valeurs en place, Studio ne peut pas décrire votre cluster et l'onglet Tâches ne se charge pas.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "DescribeHyperpodClusterPermissions", "Effect": "Allow", "Action": [ "sagemaker:DescribeCluster" ], "Resource": "arn:aws:sagemaker:us-east-1:111122223333:cluster/hyperpod-cluster-name" }, { "Effect": "Allow", "Action": "ec2:Describe*", "Resource": "*" }, { "Effect": "Allow", "Action": [ "ecr:CompleteLayerUpload", "ecr:GetAuthorizationToken", "ecr:UploadLayerPart", "ecr:InitiateLayerUpload", "ecr:BatchCheckLayerAvailability", "ecr:PutImage" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "cloudwatch:PutMetricData", "cloudwatch:GetMetricData" ], "Resource": "*" }, { "Sid": "UseEksClusterPermissions", "Effect": "Allow", "Action": [ "eks:DescribeCluster", "eks:AccessKubernetesApi", "eks:MutateViaKubernetesApi" ], "Resource": "arn:aws:eks:us-east-1:111122223333:cluster/eks-cluster-name" }, { "Sid": "DescribeSpacesAddon", "Effect": "Allow", "Action": "eks:DescribeAddon", "Resource": "arn:aws:eks:us-east-1:111122223333:cluster/eks-cluster-name/*" }, { "Sid": "ListClustersPermission", "Effect": "Allow", "Action": [ "sagemaker:ListClusters" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ssm:StartSession", "ssm:TerminateSession" ], "Resource": "*" } ] } -
-
Attachez des politiques d'accès au cluster au rôle d'exécution. La politique IAM de l'étape précédente permet au rôle d'exécution d'appeler les AWS API. Il ne donne aucune autorisation au rôle dans le cluster Kubernetes. Cluster-access c'est ce que font les politiques, et seul un rôle auquel sont rattachés les bons rôles atteint le cluster. Joignez-les depuis Gérer l'accès, sur le domaine ou sur le profil utilisateur.
Sélectionnez le rôle d'exécution pour le domaine ou le profil utilisateur auquel vous accordez l'accès, puis sélectionnez les politiques dont vos utilisateurs ont besoin. Choisissez si vous souhaitez limiter l'accès à un espace de noms ou à l'ensemble du cluster, en limitant la portée à un espace de noms lorsque les équipes partagent un cluster, puis enregistrez. L'étendue d'un espace de noms limite également les tâches que ces utilisateurs peuvent voir dans Studio. Pour savoir ce que chaque politique permet, comment définir l'accès et comment accorder un ensemble personnalisé d'autorisations à la place, consultezRestriction de l’affichage des tâches dans Studio pour les clusters EKS.
Si vous accordez l'accès de cette manière, vous créez l'entrée d'accès Amazon EKS pour le rôle d'exécution. Il n'y a donc pas d'étape distincte dans la console Amazon EKS. Pour les concepts qui sous-tendent le modèle d'accès, voir Autoriser les utilisateurs IAM à accéder à Kubernetes avec des entrées d'accès EKS.
-
(Facultatif) Pour garantir une expérience plus fluide, nous vous recommandons d’ajouter des balises à vos clusters. Pour plus d'informations sur la façon d'ajouter des balises, consultez la section Mise Modifier un SageMaker HyperPod cluster à jour de votre cluster à l'aide de la console SageMaker AI.
Balisez votre espace de travail Amazon Managed Grafana par rapport à votre domaine Studio. Utilisez cette balise pour créer un lien vers votre espace de travail Grafana directement depuis votre cluster dans Studio. Ajoutez la balise suivante à votre cluster pour l'identifier à l'aide de votre identifiant d'espace de travail Grafana,
ws-id.Clé de balise = «
grafana-workspace», Valeur de balise = «ws-id».
Restriction de l’affichage des tâches dans Studio pour les clusters EKS
Vous pouvez limiter la visibilité des utilisateurs à des espaces de noms Kubernetes spécifiques, en veillant à ce que les utilisateurs puissent accéder aux ressources dont ils ont besoin tout en maintenant des contrôles d'accès stricts.
Il y a deux manières de procéder. La définition de la portée d'une politique d'accès au cluster à un espace de noms se fait entièrement dans la console et constitue l'option la plus simple. Un rôle Kubernetes RBAC personnalisé vous permet de contrôler les verbes exacts et les ressources dont dispose un utilisateur, au détriment de la gestion du rôle vous-même.
Restreindre à l'aide d'une politique d'accès au cluster
HyperPod fournit des politiques d'accès au cluster que vous pouvez joindre depuis Gérer l'accès dans l'onglet Configuration. Associez uniquement les politiques dont un ensemble d'utilisateurs a besoin et définissez l'accès à un espace de noms plutôt qu'à l'ensemble du cluster. Il s'agit du même flux que la troisième étape ci-dessus.
Nous vous recommandons d'associer toutes les politiques au rôle pour profiter pleinement de l'expérience HyperPod dans Studio. Chaque politique couvre un aspect différent de l'expérience, de sorte que le fait d'en désactiver une supprime la capacité qu'elle accorde. Joignez un sous-ensemble uniquement lorsque vous avez l'intention de refuser une fonctionnalité à cet ensemble d'utilisateurs.
| Politique | Ce qu'il permet |
|---|---|
AmazonSagemakerHyperpodTrainingPolicy |
Soumettez et gérez les charges de travail de formation. Accès complet à RayCluster RayJobRayCronJob, et à Kubeflow HyperPodPyTorchJob PyTorchJob MPIJobTFJob, et aux jobs et pods Kubernetes. Accès en lecture aux journaux des pods, aux cartes de configuration, aux événements, aux services, aux comptes de service, aux quotas de ressources, aux plages limites, aux déploiements, aux ensembles avec état, aux ensembles de répliques, ainsi qu'aux files d'attente et aux charges de travail locales Kueue. Peut créer unRayDashboardConnection. |
AmazonSagemakerHyperpodInferencePolicy |
Déployez et gérez les charges de travail d'inférence. Accès complet à RayCluster et RayServiceJumpStartModel, à InferenceEndpointConfigSageMakerEndpointRegistration, et aux pods. Accès en lecture aux journaux des pods, aux cartes de configuration, aux événements, aux services, aux comptes de service, aux quotas de ressources, aux plages limites, aux déploiements, aux ensembles avec état, aux ensembles de répliques, aux autoscalers de pods horizontaux, aux entrées, aux files d'attente et aux charges de travail locales Kueue. Peut créer unRayDashboardConnection. |
AmazonSagemakerHyperpodSpacePolicy |
Utilisez les espaces pour le développement interactif. Accès complet aux Workspace ressources et accès en lecture aux modèles d'espace de travail, aux stratégies d'accès et aux modèles d'intégration. Accès en lecture aux pods, aux services, aux comptes de service, aux demandes de volume persistantes, aux événements, aux quotas de ressources, aux liaisons, aux ensembles de démons, aux déploiements et aux ensembles de répliques. Peut créer unWorkspaceConnection, ce qui ouvre un espace. |
AmazonSagemakerHyperpodSpaceTemplatePolicy |
Lisez les modèles d'espaces partagés. Attachez-le à l'jupyter-k8s-sharedespace de noms, où se trouvent les modèles, plutôt qu'à l'espace de noms dans lequel vos utilisateurs travaillent. |
AmazonSagemakerHyperpodUserClusterPolicy |
Consultez les ressources relatives à l'ensemble du cluster, dont l'interface utilisateur de Studio a besoin pour effectuer le rendu. Accès en lecture aux espaces de noms et aux nœuds, accès aux définitions de ressources personnalisées, accès en lecture aux files d'attente des clusters Kueue, aux modèles de ressources et aux classes de priorité de charge de travail, et autorisation de vérifier le propre accès de l'utilisateur. Attachez-le de manière ciblée au cluster plutôt qu'à un espace de noms. |
L'accès complet signifie obtenir, répertorier, regarder, créer, mettre à jour, corriger et supprimer.
Il s'agit de politiques d'accès au cluster Amazon EKS, et non de politiques gérées par IAM. Leurs ARN prennent la formearn:<partition>:eks::aws:cluster-access-policy/<name>. En joindre une via Gérer l'accès crée l'entrée d'accès Amazon EKS pour le rôle d'exécution, qui applique la politique au rôle.
Restreindre avec un rôle Kubernetes RBAC personnalisé
Utilisez un rôle personnalisé lorsque vous souhaitez accorder un ensemble personnalisé d'autorisations au lieu de celles fournies par une politique d'accès au cluster. La configuration suivante permet aux administrateurs d’accorder un accès spécifique et limité aux scientifiques des données pour visualiser les tâches au sein du cluster. Cette stratégie accorde les autorisations suivantes :
-
Répertorier et obtenir des pods
-
Répertorier et obtenir des événements
-
Obtenir des définitions de ressources personnalisées (CRD)
Configuration YAML
apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: pods-events-crd-cluster-role rules: - apiGroups: [""] resources: ["pods"] verbs: ["get", "list"] - apiGroups: [""] resources: ["events"] verbs: ["get", "list"] - apiGroups: ["apiextensions.k8s.io"] resources: ["customresourcedefinitions"] verbs: ["get"] --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: pods-events-crd-cluster-role-binding subjects: - kind: Group name: pods-events-crd-cluster-level apiGroup: rbac.authorization.k8s.io roleRef: kind: ClusterRole name: pods-events-crd-cluster-role apiGroup: rbac.authorization.k8s.io
-
Enregistrez la configuration YAML à un fichier nommé
cluster-role.yaml. -
Appliquez la configuration à l'aide
kubectldu site Web de Kubernetes : kubectl apply -f cluster-role.yaml -
Vérifiez la configuration :
kubectl get clusterrole pods-events-crd-cluster-role kubectl get clusterrolebinding pods-events-crd-cluster-role-binding -
Affectez des utilisateurs au groupe
pods-events-crd-cluster-levelvia votre fournisseur d’identité ou IAM.