Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Führen Sie Jobs aus mit kubectl
Beachten Sie, dass Sie Kubeflow Training Operator mithilfe eines Helm-Diagramms in den Clustern installieren sollten. Weitere Informationen finden Sie unter Installieren Sie Pakete auf dem EKS Amazon-Cluster mit Helm. Überprüfen Sie, ob die Steuerungsebene des Kubeflow Training Operators ordnungsgemäß eingerichtet ist, indem Sie den folgenden Befehl ausführen.
kubectl get pods -n kubeflow
Dies sollte eine Ausgabe ähnlich der folgenden zurückgeben.
NAME READY STATUS RESTARTS AGE training-operator-658c68d697-46zmn 1/1 Running 0 90s
Um einen Ausbildungsjob einzureichen
Um einen Trainingsjob auszuführen, bereiten Sie die Job-Konfigurationsdatei vor und führen Sie den kubectl apply
kubectl apply -f
/path/to/training_job.yaml
Um einen Trainingsjob zu beschreiben
Verwenden Sie den folgenden Befehl, um die Details des an den EKS Cluster übermittelten Jobs abzurufen. Es gibt Auftragsinformationen wie die Uhrzeit der Auftragsübermittlung, die Abschlusszeit, den Auftragsstatus und die Konfigurationsdetails zurück.
kubectl get -o yaml
training-job
-nkubeflow
Um einen Schulungsjob zu beenden und EKS Ressourcen zu löschen
Um einen Trainingsjob zu beenden, verwenden Sie kubectl delete. Im Folgenden finden Sie ein Beispiel für das Beenden des Trainingsjobs, der aus der Konfigurationsdatei erstellt wurde. pytorch_job_simple.yaml
kubectl delete -f
/path/to/training_job.yaml
Dies sollte die folgende Ausgabe zurückgeben.
pytorchjob.kubeflow.org "training-job" deleted
Um die automatische Wiederaufnahme von Jobs zu aktivieren
SageMaker HyperPod unterstützt die Funktion zur automatischen Wiederaufnahme von Jobs für Kubernetes-Jobs und ist in die Steuerebene des Kubeflow Training Operators integriert.
Stellen Sie sicher, dass im Cluster genügend Knoten vorhanden sind, die die Integritätsprüfung bestanden haben. SageMaker HyperPod Bei den Knoten sollte der Fehler auf sagemaker.amazonaws.com/node-health-status
eingestellt seinSchedulable
. Es wird empfohlen, einen Knotenselektor in die YAML Job-Datei aufzunehmen, um Knoten mit der entsprechenden Konfiguration wie folgt auszuwählen.
sagemaker.amazonaws.com/node-health-status: Schedulable
Der folgende Codeausschnitt ist ein Beispiel dafür, wie Sie eine PyTorch YAML Kubeflow-Jobkonfiguration ändern, um die Funktion zur automatischen Wiederaufnahme von Jobs zu aktivieren. Sie müssen zwei Anmerkungen hinzufügen und diese wie folgt einstellen. 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: 10restartPolicy: OnFailure
template: spec: nodeSelector: sagemaker.amazonaws.com/node-health-status: Schedulable
Um den Status der automatischen Wiederaufnahme des Jobs zu überprüfen
Führen Sie den folgenden Befehl aus, um den Status der automatischen Auftragsfortsetzung zu überprüfen.
kubectl describe pytorchjob -n kubeflow
<job-name>
Abhängig von den Fehlermustern sehen Sie möglicherweise zwei Muster für den Neustart des Kubeflow-Trainingsjobs wie folgt.
Muster 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.
Muster 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