View a markdown version of this page

독립 실행형 로그인 노드를 AWS PCS의 여러 클러스터에 연결 - AWS PCS

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

독립 실행형 로그인 노드를 AWS PCS의 여러 클러스터에 연결

pcs-multi-cluster-login-configure.sh 스크립트는 단일 독립 실행형 로그인 노드에서 여러 Slurm sackd 데몬을 구성하는 자동화된 방법을 제공합니다. 이를 통해 로그인 노드가 여러 클러스터와 통신할 수 있습니다. 스크립트는 다음 작업을 자동화합니다.

  • AWS PCS API 작업을 사용하여 클러스터 정보 가져오기

  • base64로 인코딩된 Slurm 인증 키에 대한 프롬프트

  • 클러스터 인증 키를 사용하여 Slurm JWKS 파일을 생성합니다.

  • 클러스터 엔드포인트 및 포트로 sackd 서비스를 구성합니다.

  • 클러스터별 데몬에 대한 systemd 서비스 파일을 생성합니다sackd.

  • 클러스터 환경 설정을 위한 활성화 스크립트를 생성합니다.

  • sackd 서비스를 활성화하고 시작합니다.

참고

이 스크립트에는 Slurm 버전 25.05 이상이 필요합니다.

참고

Slurm 25.11 이상의 경우 sackd --jwks-file <path>sackd --key-file <path>를 사용하여 SLURM_SACK_JWKS 환경 변수 대신 인증 키 경로를 지정할 수 있습니다. 이 SLURM_SACK_JWKS 접근 방식은 Slurm 25.05 클러스터와의 이전 버전과의 호환성을 위해 계속 지원됩니다.

Slurm은 인스턴스에 이미 설치되어 있어야 합니다(수동 프로세스의 3단계에 해당). 인스턴스가 대상 클러스터의 엔드포인트에 도달할 수 있어야 합니다. 스크립트는 수동 구성 프로세스에서 4단계5단계의 동일한 작업을 수행합니다. 클러스터 정보를 자동으로 가져오고, sackd 서비스를 구성하고, 필요한 systemd 서비스 파일을 생성하고, 사용자가 클러스터 상호 작용을 위해 셸 환경을 구성하는 데 사용할 수 있는 활성화 스크립트를 생성합니다.

기본적으로 스크립트는 AWS PCS API를 호출하여 클러스터의 세부 정보를 조회합니다. 해당 호출을 건너뛰려면 , --cluster-name, --cluster-id --slurm-version--endpoints 옵션을 사용하여 명령줄에서 직접 세부 정보를 제공합니다. 4개를 모두 제공하면 스크립트는 AWS PCS API를 호출하지 않습니다. 이는 AWS PCS API 엔드포인트에 대한 경로가 없거나 AWS 자격 증명이 없는 로그인 노드에 유용합니다. --fetch-secret 옵션은 예외입니다. 항상 AWS PCS API를 호출하여 보안 암호의 ARN을 읽습니다.

각 클러스터에 대해 스크립트를 한 번 실행하므로 단일 독립 실행형 로그인 노드가 여러 클러스터에 동시에 연결할 수 있습니다. 로그인 노드는 각 클러스터의 slurmctld 컨트롤러에 연결할 수 있어야 합니다. 두 클러스터의 이름이 동일한 경우 --alias 옵션을 사용하여 로그인 노드에서 각각 고유한 로컬 식별자를 지정합니다. 서로 다른에 있는 클러스터의 경우 --region 옵션을 AWS 리전사용하여 각 클러스터의 리전을 지정합니다. 로그인 노드에는 해당 리전의 slurmctld 컨트롤러에 대한 프라이빗 네트워크 경로가 있어야 합니다. 예를 들어 VPC 피어링 연결 또는 전송 게이트웨이를 사용할 수 있습니다.