Configurar un clúster de Amazon EKS en Studio - Amazon SageMaker AI

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Configurar un clúster de Amazon EKS en Studio

Las siguientes instrucciones describen cómo configurar un clúster de Amazon EKS en Studio.

  1. Cree un dominio o tenga uno listo. Para obtener información sobre cómo crear un dominio, consulteGuía para empezar a usar Amazon SageMaker AI.

  2. Añada el siguiente permiso a su función de ejecución.

    Para obtener información sobre las funciones de ejecución de la SageMaker IA y cómo editarlas, consulteDescripción de los permisos y roles de ejecución de espacio de dominio.

    Para obtener información sobre cómo adjuntar políticas a un usuario o grupo de IAM, consulte Añadir y eliminar permisos de identidad de IAM.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "DescribeHyerpodClusterPermissions", "Effect": "Allow", "Action": [ "sagemaker:DescribeCluster" ], "Resource": "hyperpod-cluster-arn" }, { "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:DescribeAddon" ], "Resource": "eks-cluster-arn" }, { "Sid": "ListClustersPermission", "Effect": "Allow", "Action": [ "sagemaker:ListClusters" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ssm:StartSession", "ssm:TerminateSession" ], "Resource": "*" } ] }
  3. Conceda a los usuarios de IAM acceso a Kubernetes con las entradas de acceso de EKS.

    1. Navegue hasta el clúster de Amazon EKS asociado a su HyperPod clúster.

    2. Elija la pestaña Acceso y cree una entrada de acceso para el rol de ejecución que creó.

      1. En el paso 1, seleccione el rol de ejecución que creó anteriormente en el menú desplegable principal de IAM.

      2. En el paso 2, seleccione un nombre de política y un ámbito de acceso al que desee que tengan acceso los usuarios.

  4. (Opcional) Para garantizar una experiencia más fluida, le recomendamos que añada etiquetas a los clústeres. Para obtener información sobre cómo añadir etiquetas, consulte Edita un SageMaker HyperPod clúster para actualizar el clúster mediante la consola de SageMaker IA.

    1. Etiqueta tu espacio de trabajo de Grafana gestionado por Amazon en tu dominio de Studio. Esto se utilizará para vincular rápidamente tu espacio de trabajo de Grafana directamente desde tu clúster en Studio. Para ello, añade la siguiente etiqueta a tu clúster para identificarlo con tu ID de espacio de trabajo de Grafana,. ws-id

      Clave de etiqueta = «grafana-workspace», valor de etiqueta = «ws-id».

  5. (Opcional)Restrinja la vista de tareas en Studio para los clústeres de EKS. Para obtener información sobre las tareas visibles en Studio, consulteTareas.

Restrinja la vista de tareas en Studio para los clústeres de EKS

Puedes restringir los permisos del espacio de nombres de Kubernetes para que los usuarios solo tengan acceso a ver las tareas que pertenezcan a un espacio de nombres específico. A continuación, se proporciona información sobre cómo restringir la vista de tareas en los clústeres de Studio para EKS. Para obtener información sobre las tareas visibles en Studio, consulteTareas.

De forma predeterminada, los usuarios podrán ver todas las tareas del clúster de EKS. Puede restringir la visibilidad de los usuarios de las tareas del clúster de EKS a espacios de nombres específicos, de forma que los usuarios puedan acceder a los recursos que necesitan y, al mismo tiempo, mantener estrictos controles de acceso. Deberá proporcionar el espacio de nombres para que el usuario muestre las tareas de ese espacio de nombres una vez que se haya configurado lo siguiente.

Una vez aplicada la restricción, tendrás que proporcionar el espacio de nombres a los usuarios que asuman el rol. Studio solo mostrará las tareas del espacio de nombres una vez que el usuario proporcione las entradas del espacio de nombres para el que tenga permisos de visualización en la pestaña Tareas.

La siguiente configuración permite a los administradores conceder un acceso específico y limitado a los científicos de datos para ver las tareas del clúster. Esta configuración concede los siguientes permisos:

  • Enumere y obtenga los pods

  • Publica y obtén eventos

  • Obtenga definiciones de recursos personalizadas (CRDs)

Configuración 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
  1. Guarde la configuración de YAML en un archivo denominado. cluster-role.yaml

  2. Aplique la configuración mediante kubectl:

    kubectl apply -f cluster-role.yaml
  3. Verifique la configuración:

    kubectl get clusterrole pods-events-crd-cluster-role kubectl get clusterrolebinding pods-events-crd-cluster-role-binding
  4. Asigne usuarios al pods-events-crd-cluster-level grupo a través de su proveedor de identidad o IAM.