Kubernetes Deployment
Scale Veriafy with Kubernetes for enterprise workloads
Helm Chart
# Add Veriafy Helm repository
helm repo add veriafy https://charts.veriafy.com
helm repo update
# Install Veriafy
helm install veriafy veriafy/veriafy \
--namespace veriafy \
--create-namespace \
--set apiKey=${VERIAFY_API_KEY}Custom Values
# values.yaml
replicaCount: 3
image:
repository: veriafy/veriafy
tag: latest-gpu
pullPolicy: IfNotPresent
resources:
limits:
memory: 8Gi
nvidia.com/gpu: 1
requests:
memory: 4Gi
cpu: 2
autoscaling:
enabled: true
minReplicas: 2
maxReplicas: 10
targetCPUUtilizationPercentage: 70
env:
- name: VERIAFY_WORKERS
value: "8"
- name: VERIAFY_GPU
value: "1"
persistence:
enabled: true
size: 50Gi
storageClass: fast-ssd
ingress:
enabled: true
className: nginx
hosts:
- host: veriafy.example.com
paths:
- path: /
pathType: Prefix
tls:
- secretName: veriafy-tls
hosts:
- veriafy.example.comhelm install veriafy veriafy/veriafy -f values.yamlManual Deployment
# deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: veriafy
namespace: veriafy
spec:
replicas: 3
selector:
matchLabels:
app: veriafy
template:
metadata:
labels:
app: veriafy
spec:
containers:
- name: veriafy
image: veriafy/veriafy:latest-gpu
ports:
- containerPort: 8080
env:
- name: VERIAFY_API_KEY
valueFrom:
secretKeyRef:
name: veriafy-secrets
key: api-key
- name: VERIAFY_GPU
value: "1"
resources:
limits:
memory: 8Gi
nvidia.com/gpu: 1
requests:
memory: 4Gi
cpu: 2
volumeMounts:
- name: models
mountPath: /app/models
livenessProbe:
httpGet:
path: /health
port: 8080
initialDelaySeconds: 30
periodSeconds: 10
readinessProbe:
httpGet:
path: /health
port: 8080
initialDelaySeconds: 5
periodSeconds: 5
volumes:
- name: models
persistentVolumeClaim:
claimName: veriafy-models-pvc
---
apiVersion: v1
kind: Service
metadata:
name: veriafy
namespace: veriafy
spec:
selector:
app: veriafy
ports:
- port: 80
targetPort: 8080
type: ClusterIPGPU Node Pool
For GPU workloads, create a dedicated node pool:
# GKE gcloud container node-pools create gpu-pool \ --cluster=my-cluster \ --accelerator=type=nvidia-tesla-t4,count=1 \ --machine-type=n1-standard-8 \ --num-nodes=3 # EKS eksctl create nodegroup \ --cluster=my-cluster \ --name=gpu-workers \ --node-type=p3.2xlarge \ --nodes=3 \ --nodes-min=1 \ --nodes-max=10 # AKS az aks nodepool add \ --resource-group myResourceGroup \ --cluster-name myCluster \ --name gpupool \ --node-count 3 \ --node-vm-size Standard_NC6
Horizontal Pod Autoscaler
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: veriafy-hpa
namespace: veriafy
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: veriafy
minReplicas: 2
maxReplicas: 20
metrics:
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: 70
- type: Resource
resource:
name: memory
target:
type: Utilization
averageUtilization: 80