View a markdown version of this page

AWS PCS 클러스터의 스케줄러 버전 업데이트 - AWS PCS

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

AWS PCS 클러스터의 스케줄러 버전 업데이트

다음 단계에 따라 클러스터의 스케줄러 버전을 업데이트합니다. 작업 중단을 허용할 수 있는지 여부에 따라 두 가지 옵션이 있습니다. 옵션 선택에 대한 자세한 내용은 섹션을 참조하세요AWS PCS에서 클러스터의 스케줄러 버전 업데이트.

옵션 1: 롤링 업데이트

플릿이 계속 실행되는 동안 컨트롤러가 업데이트됩니다. 기존 노드는 드레이닝 및 교체될 때까지 이전 Slurm 버전을 계속 사용합니다. 업데이트 후 시작된 새 노드는 대상 버전을 사용합니다. 실행 중인 작업은 중단되지 않습니다.

사용해야 하는 경우:

  • 클러스터 컨트롤러는 Slurm 버전 24.05 이상에 있습니다.

  • 현재 및 대상 Slurm 버전을 모두 포함하는 AMIs를 제공할 수 있습니다.

0단계 - 시작 상태 확인

클러스터에서 컨트롤러 버전 "A"(예: 24.11)를 실행 중이며 버전 "B"(예: 25.11)로 마이그레이션하려고 합니다. 클러스터 노드에서 다음 명령을 사용하여 플릿의 모든 컴퓨팅 노드가 동일한 메이저 버전을 실행하는지 확인합니다.

scontrol show nodes | grep "Version=" # Example output: # NodeAddr=compute-1 NodeHostName=compute-1 Version=24.11.7 # NodeAddr=compute-2 NodeHostName=compute-2 Version=24.11.7

컴퓨팅 노드에서 AWS PCS 에이전트 버전을 확인합니다. Systems Manager를 사용하여 노드에 연결하고 부트스트랩 로그를 확인합니다.

grep "PCS Agent version" /var/log/amazon/pcs/bootstrap.log | tail -1 # Example output: # /opt/aws/pcs/bin/pcs_bootstrap_init.sh: INFO: Bootstrap starting with PCS Agent version: 1.3.2-1

롤링 업데이트에는 모든 컴퓨팅 노드 AMIs에서 AWS PCS 에이전트 버전 1.4.0 이상이 필요합니다. 자세한 내용은 AWS PCS 에이전트 버전 단원을 참조하십시오.

1단계 - 이중 버전 AMIs 준비 및 롤아웃

Slurm 버전 A와 버전 B, 최신 PCS 에이전트를 모두 포함하는 AMIs를 빌드하거나 식별합니다. AWS

  • 최신 PCS 지원 DLAMIs. 이러한 AMIs 지원되는 최신 세 가지 Slurm 버전과 함께 제공됩니다. 자세한 내용은 PCS와 함께 AWS PCS 지원 DLAMI 사용 단원을 참조하십시오.

  • Slurm 패키지 및 AWS PCS 에이전트의 설치 단계에 따라 사용자 지정 AMI를 빌드할 수 있습니다. 자세한 내용은 AWS PCS용 사용자 지정 Amazon Machine Image(AMIs) 단원을 참조하십시오.

  • AWS PCS 샘플 AMI는 사용할 수 없습니다. 이러한 AMIs는 프로덕션용으로 설계되지 않았으며 현재 단일 Slurm 버전만 포함되어 있습니다.

참고

AMI에 두 개 이상의 Slurm 버전이 포함된 경우 AWS PCS는 컨트롤러와 일치하는 버전을 자동으로 선택합니다. 추가 버전을 설치해도 문제가 발생하지 않습니다.

AMIs가 준비되면:

  1. 각 컴퓨팅 노드 그룹에서 UpdateComputeNodeGroup를 호출하여 새 이중 버전 AMI를 설정합니다. 노드는 AWS PCS에서 DRAIN으로 설정되며 새 AMI로 마이그레이션됩니다.

  2. 드레이닝된 노드가 작업을 완료하고 종료되며 새 듀얼 버전 AMI를 사용하여 노드로 교체될 때까지 기다립니다. 클러스터의 모든 EC2 인스턴스가 다음과 함께 새 AMI를 사용하고 있는지 확인합니다.

    aws ec2 describe-instances \ --filters "Name=tag:aws:pcs:cluster-id,Values=cluster-id" \ --query "Reservations[].Instances[].[InstanceId,ImageId,State.Name]" \ --output table

2단계 - 클러스터 컨트롤러 업데이트

를 버전 BUpdateClusterscheduler.version 설정하여를 호출합니다.

AWS Management Console
  1. https://console.aws.amazon.com/pcs/ AWS PCS 콘솔을 엽니다.

  2. 탐색 창에서 클러스터를 선택합니다.

  3. 업데이트할 클러스터를 선택하고 편집을 선택합니다.

  4. 클러스터 세부 정보의 스케줄러 드롭다운에서 대상 스케줄러 버전을 선택합니다.

  5. 업데이트를 선택하여 버전 업데이트를 제출합니다.

  6. 클러스터 상태를 모니터링합니다. 클러스터는 업데이트 UPDATING 중에 로 표시되고 ACTIVE 완료되면 로 돌아갑니다. 업데이트는 일반적으로 5~15분 후에 완료됩니다.

AWS CLI
aws pcs update-cluster \ --cluster-identifier cluster-id \ --scheduler version=25.11

클러스터가 로 돌아갈 때까지 기다립니다ACTIVE. 업데이트는 일반적으로 5~15분 후에 완료됩니다.

이 작업 중에는 컨트롤러를 잠시 사용할 수 없습니다.

  • 컴퓨팅 노드에서 실행 중인 작업은 계속 실행됩니다.

  • 업데이트가 완료될 때까지 새 작업 제출 및 스케줄러 명령을 사용할 수 없습니다.

  • 클러스터가 로 돌아갈 때까지 자동 조정이 일시 중지됩니다ACTIVE.

업데이트 후 컴퓨팅 플릿은 혼합 상태가 됩니다. 업데이트 전에 실행 중인 노드는 Slurm 버전 A의를 계속 사용합니다. slurmd새 노드는 Slurm 버전 B를 사용합니다. 이는 예상된 일입니다.

참고

플릿에 버전 A의 노드가 여전히 포함되어 있는 동안에는 버전 B와 관련된 Slurm 설정을 추가하지 마십시오. 구성은 모든 노드에 배포됩니다. 이전는 새 파라미터를 인식하지 못할 slurmd 수 있습니다.

클러스터가 ACTIVE 또는 30분 UPDATE_FAILED 이내에 로 돌아가지 않는 경우 AWS Support에 문의하여 지원을 받으세요.

3단계 - 아직 Slurm 버전 A를 실행 중인 노드 드레이닝

이전 버전에 있는 노드를 식별하고 드레이닝합니다. 클러스터의 노드에서 다음을 실행합니다.

scontrol show nodes | grep "Version=" scontrol update NodeName=node State=DRAIN Reason="Slurm version update"

드레이닝된 노드는 현재 작업을 완료하면 종료되고 Slurm 버전 B의 노드로 대체됩니다.

4단계 - Slurm 버전 B에서 일관된 플릿 확인

모든 노드 보고서 버전 B를 확인합니다. 클러스터의 노드에서 다음을 실행합니다.

scontrol show nodes | grep "Version="

이제 모든 노드가 Slurm 버전 B를 보고해야 합니다. 업데이트가 완료되었습니다.

옵션 2: 전체 플릿 휴지통

컨트롤러가 업데이트되기 전에 전체 플릿이 종료되고 대상 Slurm 버전이 있는 새 AMI에서 다시 확장됩니다. 이 절차는 더 간단하지만 모든 노드와 실행 중인 작업을 종료해야 합니다.

사용해야 하는 경우:

  • 두 Slurm 버전이 모두 설치된 AMIs 제공할 수 없습니다.

  • 클러스터 컨트롤러는 버전 23.11에 있습니다(23.11 클러스터에서는 옵션 1을 사용할 수 없음).

참고

전체 플릿을 한 번에 종료하면 스케일 업 시 용량 부족 오류가 발생할 가능성이 높아집니다. 사용량이 적은 시간에 예약 용량 또는 일정을 사용하는 것이 좋습니다.

0단계 - 시작 상태 확인

클러스터에서 컨트롤러 버전 "A"(예: 24.11)를 실행 중이며 버전 "B"(예: 25.11)로 마이그레이션하려고 합니다. 클러스터 노드에서 다음 명령을 사용하여 플릿의 모든 컴퓨팅 노드가 동일한 메이저 버전을 실행하는지 확인합니다.

scontrol show nodes | grep "Version=" # Example output: # NodeAddr=compute-1 NodeHostName=compute-1 Version=24.11.7 # NodeAddr=compute-2 NodeHostName=compute-2 Version=24.11.7

컴퓨팅 노드에서 AWS PCS 에이전트 버전을 확인합니다. Systems Manager를 사용하여 노드에 연결하고 부트스트랩 로그를 확인합니다.

grep "PCS Agent version" /var/log/amazon/pcs/bootstrap.log | tail -1 # Example output: # /opt/aws/pcs/bin/pcs_bootstrap_init.sh: INFO: Bootstrap starting with PCS Agent version: 1.3.2-1

대상 AMIs에서 최신 AWS PCS 에이전트를 사용합니다. 자세한 내용은 AWS PCS 에이전트 버전 단원을 참조하십시오.

1단계 - 대상 AMIs 준비

Slurm 버전 B와 최신 PCS 에이전트를 포함하는 AMIs를 빌드하거나 식별합니다. AWS

  • 최신 PCS 지원 DLAMIs. 이러한 AMIs 지원되는 최신 세 가지 Slurm 버전과 함께 제공됩니다. 자세한 내용은 PCS와 함께 AWS PCS 지원 DLAMI 사용 단원을 참조하십시오.

  • Slurm 패키지 및 AWS PCS 에이전트의 설치 단계에 따라 사용자 지정 AMI를 빌드할 수 있습니다. 자세한 내용은 AWS PCS용 사용자 지정 Amazon Machine Image(AMIs) 단원을 참조하십시오.

  • AWS PCS 샘플 AMI 사용은 권장되지 않습니다. 이러한 AMIs는 프로덕션용으로 설계되지 않았습니다.

2단계 - 전체 플릿 축소

각 컴퓨팅 노드 그룹에 maxNodeCount 대해 현재 minNodeCount 및를 기록합니다. 4단계에서 이를 복원합니다.

for cng in $(aws pcs list-compute-node-groups --cluster-identifier cluster-id --query "computeNodeGroups[].id" --output text); do aws pcs get-compute-node-group \ --cluster-identifier cluster-id \ --compute-node-group-identifier "$cng" \ --query "computeNodeGroup.{Id:id,AmiId:amiId,Min:scalingConfiguration.minInstanceCount,Max:scalingConfiguration.maxInstanceCount}" \ --output table done
주의

다음 작업은 실행 중인 모든 노드와 해당 노드의 작업을 종료합니다.

모든 컴퓨팅 노드 그룹에서 minNodeCount0maxNodeCount로 설정합니다.

aws pcs update-compute-node-group \ --cluster-identifier cluster-id \ --compute-node-group-identifier cng-id \ --scaling-configuration '{"minNodeCount": 0, "maxNodeCount": 0}'

계속하기 전에 클러스터aws:pcs:cluster-id와 일치하는 태그가 지정된 인스턴스가 실행되고 있지 않은지 확인합니다.

aws ec2 describe-instances \ --filters "Name=tag:aws:pcs:cluster-id,Values=cluster-id" \ --query "Reservations[].Instances[].[InstanceId,ImageId,State.Name]" \ --output table

3단계 - 클러스터 컨트롤러 업데이트

AWS Management Console
  1. https://console.aws.amazon.com/pcs/ AWS PCS 콘솔을 엽니다.

  2. 탐색 창에서 클러스터를 선택합니다.

  3. 업데이트할 클러스터를 선택하고 편집을 선택합니다.

  4. 클러스터 세부 정보의 스케줄러 드롭다운에서 대상 스케줄러 버전을 선택합니다.

  5. 업데이트를 선택하여 버전 업데이트를 제출합니다.

  6. 클러스터 상태를 모니터링합니다. 클러스터는 업데이트 UPDATING 중에 로 표시되고 ACTIVE 완료되면 로 돌아갑니다. 업데이트는 일반적으로 5~15분 후에 완료됩니다.

AWS CLI
aws pcs update-cluster \ --cluster-identifier cluster-id \ --scheduler version=25.11

클러스터가 로 돌아갈 때까지 기다립니다ACTIVE. 업데이트는 일반적으로 5~15분 후에 완료됩니다.

클러스터가 ACTIVE 또는 30분 UPDATE_FAILED 이내에 로 돌아가지 않는 경우 AWS Support에 문의하여 지원을 받으세요.

4단계 - 컴퓨팅 노드 그룹 업데이트 및 용량 복원

각 컴퓨팅 노드 그룹에 대해 새 AMI를 설정하고 원래 최소 및 최대 용량 제한을 복원합니다.

aws pcs update-compute-node-group \ --cluster-identifier cluster-id \ --compute-node-group-identifier cng-id \ --ami-id new-ami-id \ --scaling-configuration '{"minNodeCount": previous-min, "maxNodeCount": previous-max}'

클러스터가 다시 확장됩니다. 모든 새 노드는 최신 AWS PCS 에이전트와 함께 Slurm 버전 B를 실행합니다.

예: 여러 버전에서 업데이트

대상 버전이 현재 버전의 호환성 기간을 벗어나는 경우 컨트롤러를 하나 이상의 중간 버전으로 이동하여 한 번에 한 홉씩 업데이트해야 합니다. 각 홉은 현재 컨트롤러 버전의 호환성 기간 내에서 지원되는 버전을 대상으로 해야 합니다.

는 컨트롤러를 업데이트하기 전에 플릿을 0으로 옵션 2: 전체 플릿 휴지통 조정하므로 컨트롤러가 버전 간에 이동하는 동안 실행 중인 컴퓨팅 노드가 없습니다. 따라서 AMIs 최종 대상 버전을 직접 사용할 수 있습니다. 즉, 각 홉에 대해 컨트롤러 업데이트(3단계)만 반복됩니다.

다음 예시에서는 옵션 2 절차를 사용하여 클러스터를 23.11에서 25.11로 업데이트합니다. 23.11은 25.11의 호환성 기간을 벗어났으므로 컨트롤러는 두 개의 홉(23.11에서 25.05로, 25.05에서 25.11로)에서 업데이트됩니다. 옵션 2 단계를 따릅니다. 3단계는 홉당 하나의 업데이트로 분할됩니다.

  1. 1단계 - 대상 AMIs를 준비합니다. 최종 버전(25.11)과 최신 AWS PCS 에이전트를 사용하여 AMIs를 빌드하거나 식별합니다. 1단계 - 대상 AMIs 준비을(를) 참조하세요.

  2. 2단계 - 전체 플릿을 축소합니다. 현재 용량을 기록한 다음( 참조2단계 - 전체 플릿 축소) 모든 컴퓨팅 노드 그룹을 0으로 설정합니다.

    aws pcs update-compute-node-group \ --cluster-identifier my-cluster \ --compute-node-group-identifier my-cng \ --scaling-configuration '{"minNodeCount": 0, "maxNodeCount": 0}'
  3. 3a단계 - 컨트롤러를 23.11에서 25.05로 업데이트합니다. 클러스터가 로 돌아갈 때까지 기다립니다ACTIVE.

    aws pcs update-cluster --cluster-identifier my-cluster \ --scheduler version=25.05
  4. 3b단계 - 컨트롤러를 25.05에서 25.11로 업데이트합니다. 클러스터가 로 돌아갈 때까지 기다립니다ACTIVE.

    aws pcs update-cluster --cluster-identifier my-cluster \ --scheduler version=25.11
  5. 4단계 - 컴퓨팅 노드 그룹을 업데이트하고 용량을 복원합니다. 각 컴퓨팅 노드 그룹에서 25.11 AMI를 설정하고 원래 용량 제한을 복원합니다( 참조4단계 - 컴퓨팅 노드 그룹 업데이트 및 용량 복원).

    aws pcs update-compute-node-group \ --cluster-identifier my-cluster \ --compute-node-group-identifier my-cng \ --ami-id ami-0123456789abcdef0 \ --scaling-configuration '{"minNodeCount": previous-min, "maxNodeCount": previous-max}'
참고

각 컨트롤러 홉은 이전 컨트롤러의 호환성 기간 내에 있는 버전을 기반으로 해야 합니다. 유효한 중간 버전을 찾으려면 섹션을 참조하세요버전 호환성. 플릿은 3a단계와 3b단계까지 0으로 유지되므로 중간 AMI 업데이트가 필요하지 않습니다.