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.
Configuración del control de acceso basado en roles de Kubernetes
Los usuarios administradores de clústeres también deben configurar el control de acceso basado en roles (RBAC) de Kubernetes
Opción 1: Para configurarlo mediante el diagrama de Helm RBAC
El equipo SageMaker HyperPod de servicio proporciona un subgráfico de Helm para la configuración. RBAC Para obtener más información, consulte Instalar paquetes en el EKS clúster de Amazon con Helm.
Opción 2: configurar manualmente RBAC
Cree ClusterRole
y ClusterRoleBinding
con el mínimo de privilegios y cree Role
y RoleBinding
con permisos de mutación.
Para crear ClusterRole
y ClusterRoleBinding
para el IAM puesto de científico de datos
Cree un archivo cluster_level_config.yaml
de configuración a nivel de clúster de la siguiente manera.
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
Aplique la configuración al clúster. EKS
kubectl apply -f cluster_level_config.yaml
Para crear un rol y RoleBinding en el espacio de nombres
Este es el operador de formación del espacio de nombres que ejecuta los trabajos de formación y Resiliency lo supervisará de forma predeterminada. La reanudación automática de trabajos solo se admite en un kubeflow
espacio de nombres o con un prefijo de espacio de nombres. aws-hyperpod
Cree un archivo de configuración de roles de la siguiente manera. namespace_level_role.yaml
En este ejemplo se crea un rol en el kubeflow
espacio de nombres
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
Aplique la configuración al clúster. EKS
kubectl apply -f namespace_level_role.yaml
Cree una entrada de acceso para los grupos de Kubernetes
Tras realizar la configuración RBAC mediante una de las dos opciones anteriores, utilice el siguiente comando de ejemplo para sustituir la información necesaria.
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"]'
Para el principal-arn
parámetro, debe usar elIAMusuarios para científicos.