EVA Vision Installation
이 가이드는 영상 스트림의 실시간 비전 분석을 담당하는 EVA Vision 모듈을 Kubernetes 클러스터에 설치하는 방법을 안내합니다.
🛠️ 사전 준비 사항
설치를 시작하기 전에 아래의 도구들이 준비되어 있는지 확인해 주세요.
-
Kubernetes 클러스터: EVA가 구동될 클러스터가 필요합니다.
-
kubectl 설치: 설치 가이드 바로가기
-
Helm 설치: 설치 가이드 바로가기
-
AWS CLI 설정: ECR 이미지 접근 권한을 위해 AWS 자격 증명이 필요합니다. 터미널에서 아래 명령어를 입력하여 설정해 주세요.
-
AWS CLI 및 ECR 권한: AWS 환경인 경우, 이미지 Pull을 위해 ECR 접근 권한 설정이 필요합니다.
aws configure
# 안내에 따라 AWS Access Key ID / Secret Key를 입력하세요.
🚀 EVA Vision 설치하기
1단계: Helm 저장소 등록 및 업데이트
GitHub ChartMuseum에 배포된 eva-vision 저장소를 로컬 Helm에 등록하고 최신 정보를 가져옵니다.
# 저장소 추가
helm repo add eva-vision https://raw.githubusercontent.com/mellerikat/eva-vision/chartmuseum/
# 저장소 최신화
helm repo update
2단계: 기본 설정 파일(values.yaml) 준비
차트에 정의된 기본 설정 템플릿을 추출합니다.
helm show values eva-vision/eva-vision > values.yaml
3단계: 사용자 환경에 맞게 설정 업데이트
운영 환경(Cloud/AWS)과 개발 환경(On-premise/K3s)에 따라 설정을 수정합니다. values.yaml을 직접 수정하거나 별도의 오버라이드 파일을 준비하세요.
주요 설정 항목 가이드
| Category | Parameter | Description | On-premise (Local) | Cloud (AWS) |
|---|---|---|---|---|
| 이미지 | image.tag | 도커 이미지 태그 | v2 | v2 |
| 리소스 | resources.limits | 파드당 할당할 GPU 개수 | nvidia.com/gpu: 1 | nvidia.com/gpu: 1 |
| 스토리지 | persistence.storageClass | 로그 보관용 스토리지 클래스 | local-path | eva-agent-sc-bs (EFS 등) |
| 노드 선택 | affinity | 특정 GPU 노드 배포 설정 | (비워둠) | g6.2xlarge 등 지정 |
| 모델 관리 | marName | 로드할 AI 모델 파일(.mar) 이름 | Owl-v2, ig, OmDet... | Owl-v2, ig, OmDet... |
| 프로세스 | maxWorkers | 최대 워커 수 (GPU 메모리 고려) | 1 | 1 |
| 추론 설정 | maxBatchDelay | 배치 구성을 위한 최대 대기 시간 | 150ms | 150ms |
📂 Cloud(AWS EKS)용 오버라이드 예시 (eva-vision-aws.yaml)
# AWS 환경을 위한 오버라이드 설정
persistence:
storageClass: "eva-agent-sc-bs"
size: 30Gi
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: node.kubernetes.io/instance-type
operator: In
values:
- g6.2xlarge
📂 Local K3s용 오버라이드 예시 (eva-vision-k3s.yaml)
# 로컬 환경을 위한 오버라이드 설정
persistence:
storageClass: "local-path"
size: 20Gi
affinity: {}
# 로컬은 특정 인스턴스 타입 제한을 해제합니다.
4단계: 명령어 실행하여 설치
준비된 설정 파일들을 적용하여 배포를 진행합니다. 처음 설치하거나 설정을 변경하여 재설치할 때 모두 upgrade --install 명령어를 권장합니다.
방법 A: AWS EKS 배포
# ECR 로그인 패스워드 가져오기 (필요 시)
ecr_password=$(aws ecr get-login-password --region "ap-northeast-2")
# 배포 실행
helm upgrade --install eva-vision eva-vision/eva-vision \
-n eva-vision \
--create-namespace \
-f values.yaml \
-f eva-vision-aws.yaml
방법 B: Local (K3s) 배포
# 배포 실행
helm upgrade --install eva-vision eva-vision/eva-vision \
-n eva-vision \
--create-namespace \
-f values.yaml \
-f eva-vision-k3s.yaml
5단계: 설치 결과 확인
AI 모델 로딩(Model Serving) 과정으로 인해 초기 구동에 수 분이 소요될 수 있습니다. Pod의 상태가 Running이 될 때까지 모니터링하세요.
# 실시간 파드 상태 확인
kubectl get pod -n eva-vision -w
정상 작동 시 상태 예시:
NAME READY STATUS RESTARTS AGE
eva-vision-6fbbf8c4f-s47dw 1/1 Running 0 2m