Ejecute trabajos utilizando kubectl - Amazon SageMaker

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.

Ejecute trabajos utilizando kubectl

Ten en cuenta que debes instalar Kubeflow Training Operator en los clústeres mediante un diagrama de Helm. Para obtener más información, consulte Instalar paquetes en el EKS clúster de Amazon con Helm. Comprueba si el plano de control de Kubeflow Training Operator está configurado correctamente ejecutando el siguiente comando.

kubectl get pods -n kubeflow

Esto debería devolver un resultado similar al siguiente.

NAME READY STATUS RESTARTS AGE training-operator-658c68d697-46zmn 1/1 Running 0 90s

Para enviar un trabajo de formación

Para ejecutar un trabajo de formación, prepare el archivo de configuración del trabajo y ejecute el kubectl applycomando de la siguiente manera.

kubectl apply -f /path/to/training_job.yaml

Para describir un trabajo de formación

Para recuperar los detalles del trabajo enviado al EKS clúster, utilice el siguiente comando. Devuelve información sobre el trabajo, como la hora de envío del trabajo, el tiempo de finalización, el estado del trabajo y los detalles de configuración.

kubectl get -o yaml training-job -n kubeflow

Para detener un trabajo de formación y eliminar EKS recursos

Para detener un trabajo de formación, usa kubectl delete. El siguiente es un ejemplo de cómo detener el trabajo de entrenamiento creado a partir del archivo de configuración. pytorch_job_simple.yaml

kubectl delete -f /path/to/training_job.yaml

Esto debería devolver el siguiente resultado.

pytorchjob.kubeflow.org "training-job" deleted

Para habilitar la reanudación automática del trabajo

SageMaker HyperPod admite la funcionalidad de reanudación automática de tareas para las tareas de Kubernetes y se integra con el plano de control de Kubeflow Training Operator.

Asegúrese de que haya suficientes nodos en el clúster que hayan pasado la comprobación de estado. SageMaker HyperPod Los nodos deberían tener el valor de contaminación sagemaker.amazonaws.com/node-health-status establecido en. Schedulable Se recomienda incluir un selector de nodos en el YAML archivo de trabajo para seleccionar los nodos con la configuración adecuada, tal como se indica a continuación.

sagemaker.amazonaws.com/node-health-status: Schedulable

El siguiente fragmento de código es un ejemplo de cómo modificar la YAML configuración de un trabajo de Kubeflow para habilitar la funcionalidad de reanudación automática del PyTorch trabajo. Debe añadir dos anotaciones y configurarlas de la siguiente manera. restartPolicy OnFailure

apiVersion: "kubeflow.org/v1" kind: PyTorchJob metadata: name: pytorch-simple namespace: kubeflow annotations: { // config for job auto resume sagemaker.amazonaws.com/enable-job-auto-resume: "true" sagemaker.amazonaws.com/job-max-retry-count: "2" } spec: pytorchReplicaSpecs: ...... Worker: replicas: 10 restartPolicy: OnFailure template: spec: nodeSelector: sagemaker.amazonaws.com/node-health-status: Schedulable

Para comprobar el estado de reanudación automática del trabajo

Ejecute el siguiente comando para comprobar el estado de la reanudación automática del trabajo.

kubectl describe pytorchjob -n kubeflow <job-name>

Según los patrones de error, es posible que veas dos patrones de reinicio de las tareas de entrenamiento de Kubeflow, de la siguiente manera.

Patrón 1:

Start Time: 2024-07-11T05:53:10Z Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal SuccessfulCreateService 9m45s pytorchjob-controller Created service: pt-job-1-worker-0 Normal SuccessfulCreateService 9m45s pytorchjob-controller Created service: pt-job-1-worker-1 Normal SuccessfulCreateService 9m45s pytorchjob-controller Created service: pt-job-1-master-0 Warning PyTorchJobRestarting 7m59s pytorchjob-controller PyTorchJob pt-job-1 is restarting because 1 Master replica(s) failed. Normal SuccessfulCreatePod 7m58s (x2 over 9m45s) pytorchjob-controller Created pod: pt-job-1-worker-0 Normal SuccessfulCreatePod 7m58s (x2 over 9m45s) pytorchjob-controller Created pod: pt-job-1-worker-1 Normal SuccessfulCreatePod 7m58s (x2 over 9m45s) pytorchjob-controller Created pod: pt-job-1-master-0 Warning PyTorchJobRestarting 7m58s pytorchjob-controller PyTorchJob pt-job-1 is restarting because 1 Worker replica(s) failed.

Patrón 2:

Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal SuccessfulCreatePod 19m pytorchjob-controller Created pod: pt-job-2-worker-0 Normal SuccessfulCreateService 19m pytorchjob-controller Created service: pt-job-2-worker-0 Normal SuccessfulCreatePod 19m pytorchjob-controller Created pod: pt-job-2-master-0 Normal SuccessfulCreateService 19m pytorchjob-controller Created service: pt-job-2-master-0 Normal SuccessfulCreatePod 4m48s pytorchjob-controller Created pod: pt-job-2-worker-0 Normal SuccessfulCreatePod 4m48s pytorchjob-controller Created pod: pt-job-2-master-0