startupProbe:
httpGet:
path: "/startup"
port: 8080
periodSeconds: 5
failureThreshold: 36
readinessProbe:
httpGet:
path: "/readiness"
port: 8080
periodSeconds: 10
failureThreshold: 3
livenessProbe:
httpGet:
path: "/liveness"
port: 8080
periodSeconds: 10
failureThreshold: 3
- 기동중
- startupProbe : 10초에 한번씩 날림, 성공하면 중지
- 초기화되는동안은 실패
- 기동완료
- readinessProbe : 성공했을때 외부트래픽 받을수있도록함
- 내부API 성공 후에 외부API 성공
- 3번실패하면 트래픽연결 해제
- livenessProbe : 앱이살이있는지 체크해서 장애발생시 재기동
- 3번실패하면 재기동
- 일시적인장애시
- readinessProbe와 livenessProbe 의 주기를 같지않도록하면 일시적인장애에 대응할수있다 (case by case)
- 주의사항
- startupProbe 의 failureThreshold 를 적게 세팅하면 무한재부팅에 빠짐
- API를 날리는 법외에 커멘트호출을 할수도있다
- exec: command: ["cat", "/usr/src/myapp/datasource/postgresql-info.yaml"]