Files
schemas-app/k8s/deploy.yaml
T
argoyle 0552af6477
schemas-app / build (pull_request) Successful in 2m57s
schemas-app / deploy-prod (pull_request) Has been skipped
fix(k8s): remove CPU limits to resolve KubeCPUOvercommit alert
Remove cpu from resource limits while keeping memory limits and all
requests intact. CPU limits cause unnecessary throttling and
overcommit alerts when actual usage is far below limits.
2026-03-01 12:15:58 +01:00

80 lines
1.8 KiB
YAML

apiVersion: apps/v1
kind: Deployment
metadata:
name: schemas-app
labels:
app.kubernetes.io/name: schemas-app
annotations:
kubernetes.io/change-cause: "${TIMESTAMP} Deployed commit id: ${COMMIT}"
spec:
replicas: 1
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 1
maxUnavailable: 1
minReadySeconds: 30
selector:
matchLabels:
app.kubernetes.io/name: schemas-app
template:
metadata:
labels:
app.kubernetes.io/name: schemas-app
app.kubernetes.io/instance: schemas
spec:
affinity:
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 100
podAffinityTerm:
labelSelector:
matchExpressions:
- key: "app.kubernetes.io/name"
operator: In
values:
- schemas-app
topologyKey: kubernetes.io/hostname
containers:
- name: schemas-app
image: oci.unbound.se/unboundsoftware/schemas-app:${COMMIT}
imagePullPolicy: IfNotPresent
ports:
- containerPort: 80
readinessProbe:
httpGet:
path: /
port: 80
initialDelaySeconds: 5
periodSeconds: 5
timeoutSeconds: 5
livenessProbe:
httpGet:
path: /
port: 80
initialDelaySeconds: 10
periodSeconds: 10
timeoutSeconds: 5
resources:
requests:
cpu: 10m
memory: 10Mi
limits:
memory: 300Mi
---
apiVersion: v1
kind: Service
metadata:
name: schemas-app
labels:
app.kubernetes.io/name: schemas-app
spec:
type: NodePort
selector:
app.kubernetes.io/name: schemas-app
ports:
- port: 80
targetPort: 80