0552af6477
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.
80 lines
1.8 KiB
YAML
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
|