를 사용하여 작업을 실행합니다. kubectl - 아마존 SageMaker

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

를 사용하여 작업을 실행합니다. kubectl

참고로, 헬름 차트를 사용하여 클러스터에 Kubeflow 트레이닝 오퍼레이터를 설치해야 한다. 자세한 내용은 Helm을 사용하여 Amazon EKS 클러스터에 패키지 설치 단원을 참조하십시오. 다음 명령을 실행하여 Kubeflow 트레이닝 오퍼레이터 컨트롤 플레인이 제대로 설정되었는지 확인하십시오.

kubectl get pods -n kubeflow

그러면 다음과 비슷한 출력이 반환될 것입니다.

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

교육 작업을 제출하려면

교육 작업을 실행하려면 다음과 같이 작업 구성 파일을 준비하고 kubectl apply명령을 실행합니다.

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

교육 작업 설명하기

EKS클러스터에 제출된 작업의 세부 정보를 검색하려면 다음 명령을 사용합니다. 작업 제출 시간, 완료 시간, 작업 상태, 구성 세부 정보와 같은 작업 정보를 반환합니다.

kubectl get -o yaml training-job -n kubeflow

교육 작업을 중지하고 EKS 리소스를 삭제하려면

교육 작업을 중지하려면 kubectl delete를 사용하십시오. 다음은 구성 파일에서 생성한 교육 작업을 중지하는 예제입니다. pytorch_job_simple.yaml

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

그러면 다음과 같은 결과가 반환될 것입니다.

pytorchjob.kubeflow.org "training-job" deleted

작업 자동 재개를 활성화하려면

SageMaker HyperPod Kubeflow Training Operator 컨트롤 플레인과 통합하여 Kubernetes 작업에 대한 작업 자동 재개 기능을 지원합니다.

클러스터에 상태 점검을 통과한 노드가 충분한지 확인하십시오. SageMaker HyperPod 노드의 테인트는 로 sagemaker.amazonaws.com/node-health-status Schedulable 설정되어야 합니다. 다음과 같이 적절한 구성의 노드를 선택하려면 작업 YAML 파일에 노드 선택기를 포함하는 것이 좋습니다.

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

다음 코드 스니펫은 Kubeflow PyTorch 작업 YAML 구성을 수정하여 작업 자동 재개 기능을 활성화하는 방법의 예입니다. 두 개의 어노테이션을 추가하고 다음과 같이 설정해야 합니다. 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

작업 자동 재개 상태를 확인하려면

다음 명령을 실행하여 작업 자동 재개 상태를 확인합니다.

kubectl describe pytorchjob -n kubeflow <job-name>

실패 패턴에 따라 다음과 같은 두 가지 패턴의 Kubeflow 교육 작업 재시작이 나타날 수 있습니다.

패턴 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.

패턴 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