Skip to main content

Kubernetes

Deploy your VideoSDK AI Agent Worker on Kubernetes clusters.

Prerequisites

  • Kubernetes cluster (EKS, GKE, or self-hosted)
  • kubectl configured
  • Docker image of your agent

Quick Setup

1. Create Namespace

kubectl create namespace agent-workers

2. Create Secret

kubectl create secret generic agent-secrets \
--from-literal=VIDEOSDK_AUTH_TOKEN=your_auth_token \
--namespace agent-workers

3. Deploy Agent

deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: agent-worker
namespace: agent-workers
spec:
replicas: 3
selector:
matchLabels:
app: agent-worker
template:
metadata:
labels:
app: agent-worker
spec:
containers:
- name: agent-worker
image: your-registry/agent-worker:latest
ports:
- containerPort: 8081
env:
- name: VIDEOSDK_AUTH_TOKEN
valueFrom:
secretKeyRef:
name: agent-secrets
key: VIDEOSDK_AUTH_TOKEN
resources:
requests:
memory: "512Mi"
cpu: "250m"
limits:
memory: "1Gi"
cpu: "500m"

Apply the deployment:

kubectl apply -f deployment.yaml

Monitor

# Check deployment status
kubectl get deployments -n agent-workers

# Check pods
kubectl get pods -n agent-workers

# View logs
kubectl logs -f deployment/agent-worker -n agent-workers

Deploy Updates

# Update image
kubectl set image deployment/agent-worker agent-worker=your-registry/agent-worker:latest -n agent-workers

# Check rollout status
kubectl rollout status deployment/agent-worker -n agent-workers

Scaling

To support more concurrent agents, you can scale the deployment by increasing the number of replicas. Each pod will register with the VideoSDK backend registry and automatically receive job assignments.

Scale the deployment:

# Scale to 5 replicas
kubectl scale deployment agent-worker --replicas=5 -n agent-workers

# Or use HPA for automatic scaling
kubectl autoscale deployment agent-worker --cpu-percent=70 --min=2 --max=10 -n agent-workers

Check scaling:

# View current replicas
kubectl get deployment agent-worker -n agent-workers

# View HPA status
kubectl get hpa -n agent-workers

Cleanup

# Delete deployment
kubectl delete deployment agent-worker -n agent-workers

# Delete namespace (removes everything)
kubectl delete namespace agent-workers

Got a Question? Ask us on discord