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 }}
initialDelaySeconds: {{ .Values.healthCheck.readinessProbe.initialDelaySeconds }}
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 }}
restartPolicy: Always
{{- with .Values.nodeSelector }}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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