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.
Exécutez des tâches en utilisant kubectl
Notez que vous devez installer Kubeflow Training Operator dans les clusters à l'aide d'un graphique Helm. Pour de plus amples informations, veuillez consulter Installer des packages sur le EKS cluster Amazon à l'aide de Helm. Vérifiez si le plan de contrôle de Kubeflow Training Operator est correctement configuré en exécutant la commande suivante.
kubectl get pods -n kubeflow
Cela devrait renvoyer un résultat similaire à ce qui suit.
NAME READY STATUS RESTARTS AGE training-operator-658c68d697-46zmn 1/1 Running 0 90s
Pour soumettre un poste de formation
Pour exécuter une tâche de formation, préparez le fichier de configuration de la tâche et exécutez la kubectl apply
kubectl apply -f
/path/to/training_job.yaml
Pour décrire un poste de formation
Pour récupérer les détails de la tâche soumise au EKS cluster, utilisez la commande suivante. Il renvoie des informations sur les tâches telles que l'heure de soumission des tâches, le temps d'achèvement, l'état de la tâche, les détails de configuration.
kubectl get -o yaml
training-job
-nkubeflow
Pour arrêter une tâche de formation et supprimer EKS des ressources
Pour arrêter une tâche de formation, utilisez kubectl delete. Voici un exemple d'arrêt de la tâche de formation créée à partir du fichier de configurationpytorch_job_simple.yaml
.
kubectl delete -f
/path/to/training_job.yaml
Cela devrait renvoyer le résultat suivant.
pytorchjob.kubeflow.org "training-job" deleted
Pour activer la reprise automatique des tâches
SageMaker HyperPod prend en charge la fonctionnalité de reprise automatique des tâches pour les tâches Kubernetes, en s'intégrant au plan de contrôle Kubeflow Training Operator.
Assurez-vous que le cluster compte un nombre suffisant de nœuds ayant passé avec succès le test SageMaker HyperPod de santé. La teinte des nœuds doit être sagemaker.amazonaws.com/node-health-status
réglée sur. Schedulable
Il est recommandé d'inclure un sélecteur de nœuds dans le YAML fichier de travail pour sélectionner les nœuds dotés de la configuration appropriée, comme suit.
sagemaker.amazonaws.com/node-health-status: Schedulable
L'extrait de code suivant est un exemple de modification de la YAML configuration d'une tâche Kubeflow pour activer la fonctionnalité de reprise automatique d'une PyTorch tâche. Vous devez ajouter deux annotations et restartPolicy
définir OnFailure
comme suit.
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: 10restartPolicy: OnFailure
template: spec: nodeSelector: sagemaker.amazonaws.com/node-health-status: Schedulable
Pour vérifier l'état de reprise automatique des tâches
Exécutez la commande suivante pour vérifier l'état de la reprise automatique des tâches.
kubectl describe pytorchjob -n kubeflow
<job-name>
En fonction des types d'échec, vous pouvez observer deux modèles de redémarrage des tâches d'entraînement Kubeflow, comme suit.
Motif 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.
Motif 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