FEAT(repo): add startupProbe for CPU-limited apps

- Add startupProbe to code-server, crafty, mas, umami, immich
- Configure 300s startup timeout (10s × 30 attempts)
- Set initialDelaySeconds to 0 for liveness/readiness
- Reduce immich-ml memory from 2Gi to 1Gi (node memory limit)
This commit is contained in:
2026-01-07 23:25:06 +09:00
parent 3bc0b76135
commit 8353cf22bc
5 changed files with 67 additions and 13 deletions

View File

@@ -72,12 +72,20 @@ extraVars:
value: "coder:\\w~ " value: "coder:\\w~ "
# Health checks # Health checks
startupProbe:
enabled: true
httpGet:
path: /healthz
port: 8080
periodSeconds: 10
failureThreshold: 30
livenessProbe: livenessProbe:
enabled: true enabled: true
httpGet: httpGet:
path: /healthz path: /healthz
port: 8080 port: 8080
initialDelaySeconds: 30 initialDelaySeconds: 0
periodSeconds: 10 periodSeconds: 10
readinessProbe: readinessProbe:
@@ -85,5 +93,5 @@ readinessProbe:
httpGet: httpGet:
path: /healthz path: /healthz
port: 8080 port: 8080
initialDelaySeconds: 10 initialDelaySeconds: 0
periodSeconds: 5 periodSeconds: 5

View File

@@ -16,17 +16,26 @@ resources:
cpu: 53m cpu: 53m
memory: 192Mi memory: 192Mi
# Disable default probes (Crafty HTTPS needs time to initialize) # Health checks with startupProbe for slow initialization
livenessProbe: startupProbe:
initialDelaySeconds: 60
httpGet: httpGet:
path: / path: /
port: https port: https
scheme: HTTPS scheme: HTTPS
readinessProbe:
initialDelaySeconds: 60
periodSeconds: 10 periodSeconds: 10
failureThreshold: 30 failureThreshold: 30
livenessProbe:
initialDelaySeconds: 0
periodSeconds: 10
httpGet:
path: /
port: https
scheme: HTTPS
readinessProbe:
initialDelaySeconds: 0
periodSeconds: 10
httpGet: httpGet:
path: / path: /
port: https port: https

View File

@@ -63,6 +63,16 @@ server:
limits: limits:
cpu: 23m cpu: 23m
memory: 768Mi memory: 768Mi
probes:
startup:
enabled: true
custom: true
spec:
httpGet:
path: /api/server-info/ping
port: 2283
periodSeconds: 10
failureThreshold: 30
ingress: ingress:
main: main:
enabled: true enabled: true
@@ -90,10 +100,20 @@ machine-learning:
resources: resources:
requests: requests:
cpu: 15m cpu: 15m
memory: 2Gi memory: 1Gi
limits: limits:
cpu: 23m cpu: 23m
memory: 3Gi memory: 1536Mi
probes:
startup:
enabled: true
custom: true
spec:
httpGet:
path: /ping
port: 3003
periodSeconds: 10
failureThreshold: 30
persistence: persistence:
cache: cache:
enabled: false enabled: false

View File

@@ -50,6 +50,15 @@ controllers:
cpu: 23m cpu: 23m
memory: 225Mi memory: 225Mi
probes: probes:
startup:
enabled: true
custom: true
spec:
httpGet:
path: /
port: 8000
periodSeconds: 10
failureThreshold: 30
liveness: liveness:
enabled: true enabled: true
custom: true custom: true
@@ -57,7 +66,7 @@ controllers:
httpGet: httpGet:
path: / path: /
port: 8000 port: 8000
initialDelaySeconds: 30 initialDelaySeconds: 0
periodSeconds: 10 periodSeconds: 10
readiness: readiness:
enabled: true enabled: true
@@ -66,7 +75,7 @@ controllers:
httpGet: httpGet:
path: / path: /
port: 8000 port: 8000
initialDelaySeconds: 10 initialDelaySeconds: 0
periodSeconds: 5 periodSeconds: 5
service: service:

View File

@@ -55,12 +55,20 @@ autoscaling:
targetCPUUtilizationPercentage: 80 targetCPUUtilizationPercentage: 80
# Health checks # Health checks
startupProbe:
enabled: true
httpGet:
path: /api/heartbeat
port: 3000
periodSeconds: 10
failureThreshold: 30
livenessProbe: livenessProbe:
enabled: true enabled: true
httpGet: httpGet:
path: /api/heartbeat path: /api/heartbeat
port: 3000 port: 3000
initialDelaySeconds: 30 initialDelaySeconds: 0
periodSeconds: 10 periodSeconds: 10
readinessProbe: readinessProbe:
@@ -68,5 +76,5 @@ readinessProbe:
httpGet: httpGet:
path: /api/heartbeat path: /api/heartbeat
port: 3000 port: 3000
initialDelaySeconds: 10 initialDelaySeconds: 0
periodSeconds: 5 periodSeconds: 5