Esegui lavori utilizzando kubectl - Amazon SageMaker

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Esegui lavori utilizzando kubectl

Tieni presente che dovresti installare Kubeflow Training Operator nei cluster utilizzando un grafico Helm. Per ulteriori informazioni, consulta Installa pacchetti sul EKS cluster Amazon utilizzando Helm. Verifica se il piano di controllo di Kubeflow Training Operator è configurato correttamente eseguendo il comando seguente.

kubectl get pods -n kubeflow

Questo dovrebbe restituire un risultato simile al seguente.

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

Per presentare un lavoro di formazione

Per eseguire un processo di formazione, preparate il file di configurazione del lavoro ed eseguite il kubectl applycomando come segue.

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

Per descrivere un lavoro di formazione

Per recuperare i dettagli del lavoro inviato al EKS cluster, utilizzare il comando seguente. Restituisce informazioni sul lavoro come l'ora di invio del lavoro, l'ora di completamento, lo stato del lavoro, i dettagli di configurazione.

kubectl get -o yaml training-job -n kubeflow

Per interrompere un processo di formazione ed eliminare risorse EKS

Per interrompere un lavoro di formazione, usa kubectl delete. Di seguito è riportato un esempio di interruzione del processo di formazione creato dal file di configurazione. pytorch_job_simple.yaml

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

Questo dovrebbe restituire il seguente risultato.

pytorchjob.kubeflow.org "training-job" deleted

Per abilitare la ripresa automatica dei lavori

SageMaker HyperPod supporta la funzionalità di ripristino automatico dei lavori per i lavori Kubernetes, integrandosi con il piano di controllo Kubeflow Training Operator.

Assicurati che ci siano nodi sufficienti nel cluster che abbiano superato il controllo di integrità. SageMaker HyperPod La contaminazione deve essere sagemaker.amazonaws.com/node-health-status impostata su. Schedulable Si consiglia di includere un selettore di nodi nel YAML file di lavoro per selezionare i nodi con la configurazione appropriata come segue.

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

Il seguente frammento di codice è un esempio di come modificare una YAML configurazione di lavoro Kubeflow per abilitare la funzionalità di ripristino automatico del PyTorch lavoro. È necessario aggiungere due annotazioni e impostarle come segue. 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

Per verificare lo stato di ripresa automatica del lavoro

Esegui il comando seguente per verificare lo stato della ripresa automatica del lavoro.

kubectl describe pytorchjob -n kubeflow <job-name>

A seconda dei modelli di errore, potresti vedere due schemi di riavvio del processo di formazione Kubeflow come segue.

Schema 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.

Schema 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