시작하기 전에
인프라

애플리케이션 계층
스토리지 계층
인프라 요구 사항
Kubernetes
W&B Server 애플리케이션은 여러 개의 파드를 배포하는 Kubernetes Operator로 배포됩니다. 따라서 W&B에는 다음 요구 사항을 충족하는 Kubernetes 클러스터가 필요합니다:- 완전히 설정되어 정상 동작하는 Ingress 컨트롤러
- Persistent Volume을 프로비저닝할 수 있는 능력
MySQL
W&B는 메타데이터를 MySQL 데이터베이스에 저장합니다. 데이터베이스의 성능 및 스토리지 요구 사항은 모델 파라미터의 구조와 관련 메타데이터에 따라 달라집니다. 예를 들어, 더 많은 트레이닝 run을 추적할수록 데이터베이스 크기가 증가하며, run 테이블, 사용자 워크스페이스, 리포트에 대한 쿼리에 따라 데이터베이스에 가해지는 부하가 증가합니다. W&B는 프로덕션 배포 시 관리형 데이터베이스 서비스를 사용할 것을 강력히 권장합니다 (예: AWS RDS Aurora MySQL, Google Cloud SQL for MySQL, Azure Database for MySQL). 관리형 서비스는 자동 백업, 모니터링, 고가용성, 패치 적용을 제공하며 운영 복잡성을 크게 줄여 줍니다. 구체적인 서비스 권장 사항은 아래의 클라우드 제공업체 인스턴스 권장 사항 섹션을 참고하십시오. 직접 MySQL 데이터베이스를 운영하기로 선택한 경우, 다음 사항을 고려하십시오:- Backups: 데이터베이스를 주기적으로 별도의 위치로 백업해야 합니다. W&B는 최소 1주일 보존 기간을 가진 일일 백업을 권장합니다.
- Performance: 데이터베이스에는 SSD나 고속 NAS와 같은 빠른 스토리지 하드웨어가 필요합니다.
- Monitoring: 데이터베이스에는 충분한 CPU 리소스가 필요합니다. 데이터베이스 서버의 CPU 부하를 모니터링하십시오. CPU 사용률이 시스템의 90%를 초과한 상태가 5분 이상 지속되면 CPU 용량을 추가하는 것을 고려하십시오.
- Availability: 가용성과 내구성 요구 사항을 충족하기 위해, 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 이미지에 사용됨)
배포 설정에 따라 추가 컨테이너 레지스트리가 필요할 수 있습니다:
https://gcr.io는 Weave 온라인 평가를 위해 Bufstream 및 etcd를 배포할 때 필요합니다.
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 - 네트워크가 분리된 환경용 가이드
인프라 프로비저닝
용량 계획
Models에만 해당
Kubernetes
| 환경 | CPU | 메모리 | 디스크 |
|---|---|---|---|
| 테스트/개발 | 2코어 | 16 GB | 100 GB |
| 프로덕션 | 8코어 | 64 GB | 100 GB |
MySQL
| Environment | CPU | Memory | Disk |
|---|---|---|---|
| Test/Dev | 2 cores | 16 GB | 100 GB |
| Production | 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
| 환경 | CPU | 메모리 | 디스크 |
|---|---|---|---|
| 테스트/개발 | 2 cores | 16 GB | 100 GB |
| 운영 | 8 cores | 64 GB | 500 GB |
Models와 Weave
Kubernetes
| Environment | CPU | Memory | Disk |
|---|---|---|---|
| Test/Dev | 4 cores | 32 GB | 100 GB |
| Production | 16 cores | 128 GB | 100 GB |
MySQL
| 환경 | CPU | 메모리 | 디스크 |
|---|---|---|---|
| 테스트/개발 | 2 cores | 16 GB | 100 GB |
| 운영 | 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
| ----------- | ------------------ | ------------------ | ------------------- | ------------------- |
| 테스트/개발 | Standard_E2_v5 | Standard_E4_v5 | Standard_E4_v5 | MO_Standard_E2ds_v4 | | 프로덕션 | Standard_E8_v5 | Standard_E16_v5 | Standard_E16_v5 | MO_Standard_E8ds_v4 |