Instalación de paquetes en el clúster de Amazon EKS mediante Helm
Antes de crear un clúster de SageMaker HyperPod y asociarlo a un clúster de Amazon EKS, debe instalar los paquetes mediante Helm
El equipo de servicio de SageMaker HyperPod proporciona un paquete de gráficos de Helm, que incluye dependencias clave, como, por ejemplo, los complementos de dispositivo/EFA, complementos, Kubeflow Training Operator
importante
Este paso de instalación de Helm es obligatorio. Si configura su clúster de Amazon EKS con Consola de administración de AWS o CloudFormation, puede omitir este paso porque la instalación se gestiona automáticamente durante el proceso de configuración. Si configura el clúster directamente con las API, utilice el gráfico de Helm proporcionado para configurar el clúster de Amazon EKS. Si no configura el clúster de Amazon EKS con el gráfico de Helm proporcionado, es posible que el clúster de SageMaker HyperPod no funcione correctamente o que se produzca un error en el proceso de creación. No se puede modificar el nombre del espacio de nombres de aws-hyperpod.
-
Instale Helm
en el equipo local. -
Descargue los gráficos de Helm proporcionados por SageMaker HyperPod que se encuentran en
helm_chart/HyperPodHelmChartdel repositorio de la CLI de SageMaker HyperPod. git clone https://github.com/aws/sagemaker-hyperpod-cli.git cd sagemaker-hyperpod-cli/helm_chart -
Actualice las dependencias del gráfico de Helm, obtenga una vista previa de los cambios que se realizarán en el clúster de Kubernetes e instale el gráfico de Helm.
helm dependencies update HyperPodHelmCharthelm install hyperpod-dependencies HyperPodHelmChart --namespace kube-system --dry-runhelm install hyperpod-dependencies HyperPodHelmChart --namespace kube-system
En resumen, la instalación de Helm configura varios componentes para el clúster de Amazon EKS, como la programación y las colas de trabajos (Kueue), la administración del almacenamiento, la integración de MLflow y Kubeflow. Además, los gráficos instalan los siguientes componentes para integrarlos con las características de resiliencia del clúster de SageMaker HyperPod, que son componentes necesarios.
-
Agente de supervisión del estado: se instala el agente de supervisión del estado proporcionado por SageMaker HyperPod. Esto es necesario si desea supervisar el clúster de HyperPod. Los agentes de supervisión del estado se proporcionan como imágenes de Docker de la siguiente manera. En los
values.yamlproporcionados de los gráficos de Helm, la imagen está preestablecida. El agente admite instancias basadas en la GPU e instancias basadas en el acelerador de Trainium (trn1,trn1n,inf2). Se instala en el espacio de nombresaws-hyperpod.590183648699.dkr.ecr.us-west-2.amazonaws.com/hyperpod-health-monitoring-agent:1.0.230.0_1.0.19.0 -
Comprobación de estado exhaustiva: se configura un
ClusterRole, una ServiceAccount (deep-health-check-service-account) en el espacio de nombresaws-hyperpody unaClusterRoleBindingpara habilitar la característica de comprobación de estado exhaustiva de SageMaker HyperPod. Para obtener más información sobre el archivo RBAC de Kubernetes para una comprobación de estado exhaustiva, consulte el archivo de configuracióndeep-health-check-rbac.yamldel repositorio de GitHub de la CLI de SageMaker HyperPod. -
job-auto-restart: se configura unClusterRole, una ServiceAccount (job-auto-restart) en el espacio de nombresaws-hyperpody unaClusterRoleBindingpara habilitar la característica de reinicio automático para los trabajos de entrenamiento de PyTorch en SageMaker HyperPod. Para obtener más información sobre el archivo RBAC de Kubernetes parajob-auto-restart, consulte el archivo de configuraciónjob-auto-restart-rbac.yamldel repositorio de GitHub de la CLI de SageMaker HyperPod. -
Operador de MPI de Kubeflow: el MPI Operator
es un operador de Kubernetes que simplifica la ejecución de cargas de trabajo distribuidas de machine learning (ML) y computación de alto rendimiento (HPC) mediante la interfaz de transferencia de mensajes (MPI) en los clústeres de Kubernetes. Instala MPI Operator v0.5. Se instala en el espacio de nombres mpi-operator. -
nvidia-device-plugin: se trata de un complemento para dispositivos de Kubernetes que le permite exponer automáticamente las GPU de NVIDIA para que las consuman los contenedores del clúster de Amazon EKS. Permite a Kubernetes asignar y proporcionar acceso a las GPU solicitadas para dicho contenedor. Esto es necesario cuando se utiliza un tipo de instancia con GPU. -
neuron-device-plugin: se trata de un complemento para dispositivos de Kubernetes que le permite exponer automáticamente chips de AWS Inferentia para que los consuman los contenedores del clúster de Amazon EKS. Permite a Kubernetes acceder a los chips AWS Inferentia, y utilizarlos, en los nodos del clúster. Esto es necesario cuando se utiliza un tipo de instancia de Neuron. -
aws-efa-k8s-device-plugin: se trata de un complemento para dispositivos de Kubernetes que permite el uso de AWS Elastic Fabric Adapter (EFA) en los clústeres de Amazon EKS. El EFA es un dispositivo de red que proporciona una comunicación de baja latencia y alto rendimiento entre las instancias de un clúster. Esto es necesario cuando se utiliza un tipo de instancia compatible con EFA.
Para obtener más información sobre el procedimiento de instalación mediante los gráficos de Helm proporcionados, consulte el archivo README del repositorio de la CLI de SageMaker HyperPod