시작하기 전에
인프라

애플리케이션 계층
스토리지 계층
인프라 요구 사항
Kubernetes
W&B Server 애플리케이션은 여러 개의 Pod를 배포하는 Kubernetes Operator를 통해 배포됩니다. 이러한 이유로 W&B에는 다음 요구 사항을 충족하는 Kubernetes 클러스터가 필요합니다:- 완전히 구성되어 정상 동작하는 Ingress 컨트롤러
- Persistent Volume을 프로비저닝할 수 있는 능력
MySQL
W&B는 메타데이터를 MySQL 데이터베이스에 저장합니다. 데이터베이스의 성능 및 스토리지 요구 사항은 모델 파라미터와 관련 메타데이터의 구조와 크기에 따라 달라집니다. 예를 들어, 더 많은 학습 실행을 추적할수록 데이터베이스 크기가 커지고, 실행 테이블, 사용자 워크스페이스, 리포트에 대한 쿼리에 따라 데이터베이스 부하가 증가합니다. W&B는 프로덕션 배포 환경에서 관리형 데이터베이스 서비스 사용을 강력히 권장합니다 (예: AWS RDS Aurora MySQL, Google Cloud SQL for MySQL, Azure Database for MySQL). 관리형 서비스는 자동 백업, 모니터링, 고가용성, 패치 적용을 제공하며 운영 복잡성을 크게 줄여줍니다. 구체적인 서비스 권장 사항은 아래 클라우드 제공업체 인스턴스 권장 사항 섹션을 참조하십시오. 직접 MySQL 데이터베이스를 구축(셀프 매니지드)하는 경우, 다음 사항을 고려하십시오:- 백업: 데이터베이스를 주기적으로 별도의 위치(스토리지)로 백업해야 합니다. W&B는 최소 1주일 보존 기간을 가진 일일 백업을 권장합니다.
- 성능: 데이터베이스에는 SSD나 고성능 NAS와 같은 고속 스토리지 하드웨어가 필요합니다.
- 모니터링: 데이터베이스에는 충분한 CPU 리소스가 필요합니다. 데이터베이스 서버의 CPU 부하를 모니터링하십시오. CPU 사용률이 5분 이상 지속적으로 시스템의 90%를 초과하는 경우 CPU 용량 증설을 고려하십시오.
- 가용성: 요구되는 가용성과 내구성을 충족하기 위해, W&B는 기본 배포로부터 모든 업데이트를 실시간으로 스트리밍받고, 기본 서버에 장애가 발생하거나 손상되거나 지속적인 다운타임이 발생할 경우 즉시 페일오버할 수 있도록 별도 머신에 핫 스탠바이 서버 배포를 구성할 것을 권장합니다. W&B는 멀티 마스터 토폴로지나 읽기 전용 레플리카를 지원하지 않는다는 점에 유의하십시오.
MySQL 데이터베이스 생성
MySQL 구성 매개변수
Redis
- AWS Elasticache
- Google Cloud Memory Store
- Azure Cache for Redis
- 사용자의 클라우드 또는 온프레미스 인프라에 호스팅된 Redis 배포
오브젝트 스토리지
- CoreWeave AI Object Storage는 AI 워크로드에 최적화된 고성능 S3 호환 오브젝트 스토리지 서비스입니다.
- Amazon S3는 업계 최고 수준의 확장성, 데이터 가용성, 보안 및 성능을 제공하는 오브젝트 스토리지 서비스입니다.
- Google Cloud Storage는 비정형 데이터를 대규모로 저장하기 위한 관리형 서비스입니다.
- Azure Blob Storage는 텍스트, 바이너리 데이터, 이미지, 비디오, 로그와 같은 대용량 비정형 데이터를 저장하기 위한 클라우드 기반 오브젝트 스토리지 솔루션입니다.
- MinIO Enterprise (AIStor), NetApp StorageGRID 또는 사용 중인 클라우드나 온프레미스 인프라에 호스팅된 기타 엔터프라이즈급 S3 호환 스토리지.
버전
| 소프트웨어 | 최소 버전 |
|---|---|
| Kubernetes | v1.32 이상 (지원되는 Kubernetes 버전) |
| Helm | v3.x |
| MySQL | v8.0.x가 필요하며, 최소 v8.0.32 이상이어야 합니다. v8.0.44 이상을 권장합니다. Aurora MySQL 3.x 릴리스는 v3.05.2 이상이어야 합니다. |
| Redis | v7.x |
네트워크
- https://deploy.wandb.ai
- https://charts.wandb.ai
- https://quay.io (Prometheus 이미지에 사용)
배포 구성에 따라 추가 컨테이너 레지스트리가 필요할 수 있습니다:
- Weave 온라인 평가를 위해 Bufstream 및 etcd를 배포할 때는
https://gcr.io가 필요합니다.
DNS
로드 밸런서와 인그레스
Ingress 컨트롤러 요구 사항
IngressClass가 있어야 합니다. 일반적인 Ingress 컨트롤러 옵션은 다음과 같습니다:
- Nginx Ingress Controller
- Istio
- Traefik
- 클라우드 제공자 Ingress 컨트롤러(AWS ALB, GCP Ingress, Azure Application Gateway)
W&B 서비스 라우팅
| Path | Service | Default port | Purpose |
|---|---|---|---|
/ | wandb-app | 8080 | 기본 웹 애플리케이션 UI |
/api | wandb-api | 8081 | API 서비스 |
/graphql | wandb-api | 8081 | GraphQL API 엔드포인트 |
/graphql2 | wandb-api | 8081 | GraphQL API v2 엔드포인트 |
/console | wandb-console | 8082 | 시스템 콘솔 |
/traces | wandb-weave-trace | 8722 | Weave 트레이싱 서비스(활성화된 경우) |
예시 인그레스 구성
W&B Operator는 인그레스 구성을 자동으로 생성하고 관리합니다. 대부분의 경우 인그레스 리소스를 수동으로 생성할 필요가 없습니다. 클러스터에 정상적으로 동작하는 인그레스 컨트롤러와 적절한
IngressClass가 구성되어 있는지 확인하세요.SSL/TLS
지원되는 CPU 아키텍처
배포 방식
추천: Helm을 사용하는 W&B Kubernetes Operator
- W&B 구성 요소의 자동 업데이트 및 관리
- 구성 및 배포 작업 단순화
- 모든 배포 시나리오(클라우드, 온프레미스, 에어갭 환경) 지원
- Run W&B Server on Kubernetes (Operator) - 주요 설치 가이드
- Deploy W&B Platform On-premises - 데이터센터/베어 메탈 환경 관련 고려 사항
- Kubernetes operator for air-gapped instances - 격리된(인터넷 미연결) 환경용 가이드
인프라 프로비저닝
규모 산정
모델 전용
Kubernetes
| Environment | CPU | Memory | Disk |
|---|---|---|---|
| Test/Dev | 2 cores | 16 GB | 100 GB |
| Production | 8 cores | 64 GB | 100 GB |
MySQL
| 환경 | CPU | 메모리 | 디스크 |
|---|---|---|---|
| 테스트/개발 | 2 cores | 16 GB | 100 GB |
| 운영 | 8 cores | 64 GB | 500 GB |
Weave 전용
Kubernetes
| Environment | CPU | Memory | Disk |
|---|---|---|---|
| Test/Dev | 4 cores | 32 GB | 100 GB |
| Production | 12 cores | 96 GB | 100 GB |
MySQL
| Environment | CPU | Memory | Disk |
|---|---|---|---|
| Test/Dev | 2코어 | 16 GB | 100 GB |
| Production | 8코어 | 64 GB | 500 GB |
모델과 Weave
Kubernetes
| 환경 | CPU | 메모리 | 디스크 |
|---|---|---|---|
| 테스트/개발 | 4코어 | 32 GB | 100 GB |
| 운영 | 16코어 | 128 GB | 100 GB |
MySQL
| Environment | CPU | Memory | Disk |
|---|---|---|---|
| Test/Dev | 2 cores | 16 GB | 100 GB |
| Production | 8 cores | 64 GB | 500 GB |
클라우드 제공업체별 인스턴스 권장사항
서비스
| ----------- | ------------ | ------------------------ | -------------------------- | | AWS | EKS | RDS Aurora | S3 | | Google Cloud | GKE | Google Cloud SQL - MySQL | Google Cloud Storage (GCS) | | Azure | AKS | Azure Database for MySQL | Azure Blob Storage |
머신 유형
AWS
| ----------- | ------------------ | ------------------ | ------------------- | ------------------ |
| 테스트/개발 | r6i.large | r6i.xlarge | r6i.xlarge | db.r6g.large | | 운영 | r6i.2xlarge | r6i.4xlarge | r6i.4xlarge | db.r6g.2xlarge |
Google Cloud
| ----------- | ------------------ | ------------------ | ------------------- | ------------------ |
| 테스트/개발 | n2-highmem-2 | n2-highmem-4 | n2-highmem-4 | db-n1-highmem-2 | | 운영 | n2-highmem-8 | n2-highmem-16 | n2-highmem-16 | db-n1-highmem-8 |
Azure
| ----------- | ------------------ | ------------------ | ------------------- | ------------------- |
| Test/Dev | Standard_E2_v5 | Standard_E4_v5 | Standard_E4_v5 | MO_Standard_E2ds_v4 | | Production | Standard_E8_v5 | Standard_E16_v5 | Standard_E16_v5 | MO_Standard_E8ds_v4 |