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

- Add startupProbe to Helm chart template
- Configure 300s startup timeout (10s × 30 attempts)
- Set initialDelaySeconds to 0 for liveness/readiness
- Prevents pod restart loop during slow startup
This commit is contained in:
2026-01-07 23:20:09 +09:00
parent 8efe4bf338
commit 83fd149f58
9 changed files with 48 additions and 16 deletions

View File

@@ -60,6 +60,14 @@ spec:
port: {{ .Values.containerPort }} port: {{ .Values.containerPort }}
initialDelaySeconds: {{ .Values.healthCheck.readinessProbe.initialDelaySeconds }} initialDelaySeconds: {{ .Values.healthCheck.readinessProbe.initialDelaySeconds }}
periodSeconds: {{ .Values.healthCheck.readinessProbe.periodSeconds }} periodSeconds: {{ .Values.healthCheck.readinessProbe.periodSeconds }}
{{- if .Values.healthCheck.startupProbe }}
startupProbe:
httpGet:
path: {{ .Values.healthCheck.path }}
port: {{ .Values.containerPort }}
periodSeconds: {{ .Values.healthCheck.startupProbe.periodSeconds | default 10 }}
failureThreshold: {{ .Values.healthCheck.startupProbe.failureThreshold | default 30 }}
{{- end }}
{{- end }} {{- end }}
restartPolicy: Always restartPolicy: Always
{{- with .Values.nodeSelector }} {{- with .Values.nodeSelector }}

View File

@@ -45,11 +45,14 @@ resources:
healthCheck: healthCheck:
enabled: true enabled: true
path: / path: /
startupProbe:
periodSeconds: 10
failureThreshold: 30
livenessProbe: livenessProbe:
initialDelaySeconds: 30 initialDelaySeconds: 0
periodSeconds: 10 periodSeconds: 10
readinessProbe: readinessProbe:
initialDelaySeconds: 5 initialDelaySeconds: 0
periodSeconds: 5 periodSeconds: 5
envFrom: envFrom:

View File

@@ -45,11 +45,14 @@ resources:
healthCheck: healthCheck:
enabled: true enabled: true
path: / path: /
startupProbe:
periodSeconds: 10
failureThreshold: 30
livenessProbe: livenessProbe:
initialDelaySeconds: 30 initialDelaySeconds: 0
periodSeconds: 10 periodSeconds: 10
readinessProbe: readinessProbe:
initialDelaySeconds: 5 initialDelaySeconds: 0
periodSeconds: 5 periodSeconds: 5
envFrom: envFrom:

View File

@@ -45,11 +45,14 @@ resources:
healthCheck: healthCheck:
enabled: true enabled: true
path: / path: /
startupProbe:
periodSeconds: 10
failureThreshold: 30
livenessProbe: livenessProbe:
initialDelaySeconds: 10 initialDelaySeconds: 0
periodSeconds: 10 periodSeconds: 10
readinessProbe: readinessProbe:
initialDelaySeconds: 5 initialDelaySeconds: 0
periodSeconds: 5 periodSeconds: 5
externalSecret: externalSecret:

View File

@@ -45,11 +45,14 @@ resources:
healthCheck: healthCheck:
enabled: true enabled: true
path: / path: /
startupProbe:
periodSeconds: 10
failureThreshold: 30
livenessProbe: livenessProbe:
initialDelaySeconds: 10 initialDelaySeconds: 0
periodSeconds: 10 periodSeconds: 10
readinessProbe: readinessProbe:
initialDelaySeconds: 5 initialDelaySeconds: 0
periodSeconds: 5 periodSeconds: 5
externalSecret: externalSecret:

View File

@@ -50,11 +50,14 @@ resources:
healthCheck: healthCheck:
enabled: true enabled: true
path: /api/health path: /api/health
startupProbe:
periodSeconds: 10
failureThreshold: 30
livenessProbe: livenessProbe:
initialDelaySeconds: 30 initialDelaySeconds: 0
periodSeconds: 10 periodSeconds: 10
readinessProbe: readinessProbe:
initialDelaySeconds: 5 initialDelaySeconds: 0
periodSeconds: 5 periodSeconds: 5
env: env:

View File

@@ -47,11 +47,14 @@ resources:
healthCheck: healthCheck:
enabled: true enabled: true
path: / path: /
startupProbe:
periodSeconds: 10
failureThreshold: 30
livenessProbe: livenessProbe:
initialDelaySeconds: 30 initialDelaySeconds: 0
periodSeconds: 10 periodSeconds: 10
readinessProbe: readinessProbe:
initialDelaySeconds: 5 initialDelaySeconds: 0
periodSeconds: 5 periodSeconds: 5
env: env:

View File

@@ -49,11 +49,14 @@ resources:
healthCheck: healthCheck:
enabled: true enabled: true
path: / path: /
startupProbe:
periodSeconds: 10
failureThreshold: 30
livenessProbe: livenessProbe:
initialDelaySeconds: 30 initialDelaySeconds: 0
periodSeconds: 10 periodSeconds: 10
readinessProbe: readinessProbe:
initialDelaySeconds: 5 initialDelaySeconds: 0
periodSeconds: 5 periodSeconds: 5
env: env:

View File

@@ -50,11 +50,14 @@ resources:
healthCheck: healthCheck:
enabled: true enabled: true
path: /api/health path: /api/health
startupProbe:
periodSeconds: 10
failureThreshold: 30
livenessProbe: livenessProbe:
initialDelaySeconds: 30 initialDelaySeconds: 0
periodSeconds: 10 periodSeconds: 10
readinessProbe: readinessProbe:
initialDelaySeconds: 5 initialDelaySeconds: 0
periodSeconds: 5 periodSeconds: 5
env: env: