고급 에이전트 설정
이 가이드에서는 W&B Launch 에이전트가 다양한 환경에서 컨테이너 이미지를 구축하고, 구축한 이미지를 클라우드 컨테이너 레지스트리에 푸시하며, 구축 프로세스를 사용자 지정할 수 있도록 설정하는 방법을 설명합니다. 이미지 구축이 필요한 Launch 작업을 실행하면서 에이전트가 이미지를 생성하는 위치와 방식을 직접 제어하려는 경우에 이 가이드를 참고하세요. 이 페이지는 Launch 에이전트를 배포하고 관리하는 관리자와 운영자를 대상으로 합니다.구축은 git 작업과 코드 아티팩트 작업에만 필요하며, 이미지 작업에는 구축이 필요하지 않습니다.작업 유형에 대한 자세한 내용은 Launch 작업 생성을 참조하세요.
빌더
Launch 에이전트는 컨테이너 이미지를 생성하기 위한 두 가지 빌더를 지원합니다. 에이전트가 실행되는 환경에 맞는 빌더를 선택하세요. Launch 에이전트는 Docker 또는 Kaniko를 사용하여 이미지를 구축할 수 있습니다.- Kaniko: 구축을 권한 있는(privileged) 컨테이너로 실행하지 않고도 Kubernetes에서 컨테이너 이미지를 구축합니다.
- Docker: 로컬에서
docker build명령을 실행하여 컨테이너 이미지를 구축합니다.
builder.type 키로 지정합니다. 값을 docker 또는 kaniko로 설정하거나, 구축을 비활성화하려면 noop으로 설정하세요. 에이전트 Helm 차트는 기본적으로 builder.type을 noop으로 설정합니다. 에이전트는 builder 섹션의 추가 키를 사용하여 구축 프로세스를 설정합니다.
에이전트 설정에 빌더를 지정하지 않은 경우, 정상적으로 작동하는 docker CLI가 있으면 에이전트는 기본적으로 Docker를 사용합니다. Docker를 사용할 수 없으면 기본적으로 noop을 사용합니다.
Kubernetes 클러스터에서 이미지를 구축할 때는 Kaniko를 사용하고, 그 외의 경우에는 Docker를 사용하세요.
컨테이너 레지스트리에 푸시
구축한 이미지를 컴퓨팅 대상에서 실행하려면 에이전트가 해당 대상이 풀(pull)할 수 있는 컨테이너 레지스트리로 이미지를 푸시해야 합니다. 다음 섹션에서는 에이전트가 이미지에 태그를 지정하고 업로드하는 방식을 설명합니다. Launch 에이전트는 구축하는 모든 이미지에 고유한 소스 해시를 태그로 지정합니다. 그런 다음builder.destination 키에 지정된 레지스트리로 이미지를 푸시합니다.
예를 들어 builder.destination 키를 my-registry.example.com/my-repository로 설정하면 에이전트는 이미지에 태그를 지정한 뒤 my-registry.example.com/my-repository:[SOURCE-HASH]로 푸시합니다. 레지스트리에 해당 이미지가 이미 있으면 에이전트는 구축을 건너뜁니다.
에이전트 설정
에이전트는 YAML 파일에서 설정을 읽습니다. 이 파일을 제공하는 위치는 에이전트를 실행하는 방식에 따라 다릅니다. Helm 차트로 에이전트를 배포하는 경우values.yaml 파일의 agentConfig 키에 에이전트 설정을 지정하세요.
wandb launch-agent로 에이전트를 직접 실행하는 경우 --config 플래그에 YAML 파일 경로를 지정하여 에이전트 설정을 제공하세요. 기본적으로 에이전트는 ~/.config/wandb/launch-config.yaml에서 설정을 로드합니다.
Launch 에이전트 설정(launch-config.yaml)에서 environment 키에는 대상 리소스 환경의 이름을, registry 키에는 컨테이너 레지스트리를 지정하세요.
다음 탭에서는 사용하는 환경과 레지스트리에 따라 Launch 에이전트를 설정하는 방법을 보여 줍니다.
- AWS
- Google Cloud
- Azure
AWS 환경 설정에는 region 키가 필요합니다. region은 에이전트가 실행되는 AWS 리전으로 설정하세요.에이전트는
launch-config.yaml
boto3를 사용하여 기본 AWS 자격 증명을 로드합니다. 기본 AWS 자격 증명을 설정하는 방법에 대한 자세한 내용은 boto3 문서를 참조하세요.에이전트 권한
에이전트에는 컨테이너 레지스트리에 이미지를 푸시할 수 있는 권한이 있어야 하며, Kaniko를 사용하는 경우에는 클라우드 저장소의 구축 컨텍스트를 조회하고 쓸 수 있는 권한도 있어야 합니다. 필요한 에이전트 권한은 사용 사례에 따라 다릅니다.클라우드 레지스트리 권한
에이전트가 저장소를 생성하고, 이미지 레이어를 업로드하고, 태그가 지정된 이미지를 푸시하려면 레지스트리 권한이 필요합니다. Launch 에이전트가 클라우드 레지스트리와 연동하려면 다음 권한이 필요합니다.- AWS
- Google Cloud
- Azure
Kaniko용 저장소 권한
Launch 에이전트가 Kaniko 빌더를 사용하는 경우 에이전트에 클라우드 저장소로 푸시할 수 있는 권한이 있어야 합니다. Kaniko는 구축 작업을 실행하는 파드 외부에 있는 컨텍스트 저장소를 사용합니다.- AWS
- Google Cloud
- Azure
AWS에서는 Amazon S3를 Kaniko 빌더의 컨텍스트 저장소로 사용하세요. 에이전트에 S3 버킷 액세스 권한을 부여하려면 다음 정책을 사용하세요.
Kaniko 구축 사용자 지정
구축 파드의 캐싱 동작이나 환경 변수 등의 기본값을 재정의하려면 Kaniko가 실행하는 Kubernetes Job을 사용자 지정하세요. Kaniko 작업에서 사용할 Kubernetes Job 사양은 에이전트 설정의builder.kaniko-config 키에 지정합니다. 예를 들면 다음과 같습니다.
launch-config.yaml
CoreWeave에 Launch 에이전트 배포
GPU 가속 인프라가 필요한 워크로드라면 Launch 에이전트를 CoreWeave Cloud에 배포할 수 있습니다. CoreWeave는 GPU 가속 워크로드에 최적화된 클라우드 인프라입니다. Launch 에이전트를 CoreWeave에 배포하는 방법은 CoreWeave 문서를 참조하세요.CoreWeave 인프라에 Launch 에이전트를 배포하려면 CoreWeave 계정이 있어야 합니다.