veza/k8s/frontend/deployment.yaml

68 lines
1.5 KiB
YAML

apiVersion: apps/v1
kind: Deployment
metadata:
name: veza-frontend
namespace: veza-production
labels:
app: veza-frontend
component: web
version: v1.0.0
spec:
replicas: 3
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 1
maxUnavailable: 0
selector:
matchLabels:
app: veza-frontend
template:
metadata:
labels:
app: veza-frontend
version: v1.0.0
spec:
containers:
- name: frontend
image: veza-frontend:latest
imagePullPolicy: Always
ports:
- name: http
containerPort: 80
protocol: TCP
env:
- name: VITE_API_URL
valueFrom:
configMapKeyRef:
name: veza-config
key: api-url
resources:
requests:
cpu: "100m"
memory: "128Mi"
limits:
cpu: "500m"
memory: "256Mi"
readinessProbe:
httpGet:
path: /health
port: 80
scheme: HTTP
initialDelaySeconds: 5
periodSeconds: 5
timeoutSeconds: 3
successThreshold: 1
failureThreshold: 3
livenessProbe:
httpGet:
path: /health
port: 80
scheme: HTTP
initialDelaySeconds: 10
periodSeconds: 10
timeoutSeconds: 5
successThreshold: 1
failureThreshold: 3
terminationGracePeriodSeconds: 30