Skip to main content

EVA Vision Installation Guide

This guide provides instructions for installing the EVA Vision module, which is responsible for real-time vision analysis of video streams, into a Kubernetes cluster.


🛠️ Prerequisites

Before starting the installation, please ensure that the following requirements are met:

  • Kubernetes Cluster: A cluster environment where the EVA system will be deployed.

  • NVIDIA GPU Nodes: GPU-equipped nodes are mandatory for AI inference. The NVIDIA Device Plugin must be installed in the cluster.

  • kubectl & Helm:

  • kubectl Installation Guide

  • Helm Installation Guide

  • AWS CLI & ECR Permissions: For AWS environments, AWS credentials are required to pull images from the ECR.

aws configure
# Enter your AWS Access Key ID / Secret Key as prompted.



🚀 Installing EVA Vision

Step 1: Register and Update Helm Repository

Register the eva-vision repository deployed via GitHub ChartMuseum to your local Helm and fetch the latest information.

# Add repository
helm repo add eva-vision https://raw.githubusercontent.com/mellerikat/eva-vision/chartmuseum/

# Update repository
helm repo update



Step 2: Prepare Configuration File (values.yaml)

Extract the default configuration template defined in the chart.

helm show values eva-vision/eva-vision > values.yaml



Step 3: Update Settings for Your Environment

Modify the settings based on your operation environment (Cloud/AWS) or development environment (On-premise/K3s). You can edit values.yaml directly or prepare separate override files.

Key Configuration Guide

CategoryParameterDescriptionOn-premise (Local)Cloud (AWS)
Imageimage.tagDocker image tagv2v2
Resourceresources.limitsNumber of GPUs to allocate per Podnvidia.com/gpu: 1nvidia.com/gpu: 1
Storagepersistence.storageClassStorage class for log retentionlocal-patheva-agent-sc-bs (EFS, etc.)
Node SelectionaffinitySettings to deploy on specific GPU nodes(Leave blank)e.g., g6.2xlarge
Model MgmtmarNameAI model archive file (.mar) namesOwl-v2, ig, OmDet...Owl-v2, ig, OmDet...
ProcessmaxWorkersMax workers (Consider GPU memory)11
InferencemaxBatchDelayMax wait time to form a batch150ms150ms

📂 Cloud (AWS EKS) Override Example (eva-vision-aws.yaml)
# Override settings for AWS environment
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 Override Example (eva-vision-k3s.yaml)
# Override settings for Local environment
persistence:
storageClass: "local-path"
size: 20Gi

affinity: {}
# Remove specific instance type restrictions for local environments.



Step 4: Execute Installation Command

Apply the prepared configuration files and proceed with the deployment. We recommend using the upgrade --install command for both initial installations and updates.

Method A: AWS EKS Deployment

# Get ECR login password (if required)
ecr_password=$(aws ecr get-login-password --region "ap-northeast-2")

# Execute deployment
helm upgrade --install eva-vision eva-vision/eva-vision \
-n eva-vision \
--create-namespace \
-f values.yaml \
-f eva-vision-aws.yaml

Method B: Local (K3s) Deployment

# Execute deployment
helm upgrade --install eva-vision eva-vision/eva-vision \
-n eva-vision \
--create-namespace \
-f values.yaml \
-f eva-vision-k3s.yaml



Step 5: Verify Installation

The initial startup may take several minutes due to the AI model loading (Model Serving) process. Monitor the Pod status until it reaches the Running state.

# Monitor pod status in real-time
kubectl get pod -n eva-vision -w

Example of successful status:

NAME                          READY   STATUS    RESTARTS   AGE
eva-vision-6fbbf8c4f-s47dw 1/1 Running 0 2m