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: {}
# 로컬은 특정 인스턴스 타입 제한을 해제합니다.