본문으로 건너뛰기

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을 직접 수정하거나 별도의 오버라이드 파일을 준비하세요.

주요 설정 항목 가이드

CategoryParameterDescriptionOn-premise (Local)Cloud (AWS)
이미지image.tag도커 이미지 태그v2v2
리소스resources.limits파드당 할당할 GPU 개수nvidia.com/gpu: 1nvidia.com/gpu: 1
스토리지persistence.storageClass로그 보관용 스토리지 클래스local-patheva-agent-sc-bs (EFS 등)
노드 선택affinity특정 GPU 노드 배포 설정(비워둠)g6.2xlarge 등 지정
모델 관리marName로드할 AI 모델 파일(.mar) 이름Owl-v2, ig, OmDet...Owl-v2, ig, OmDet...
프로세스maxWorkers최대 워커 수 (GPU 메모리 고려)11
추론 설정maxBatchDelay배치 구성을 위한 최대 대기 시간150ms150ms

📂 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