티스토리 뷰
Pod spec 에는 restartPolicy 필드가 있다.
Pod의 Container가 종료했을 때, 재시작 정책을 정의하는 필드이다.
3가지의 값을 허용한다.
- Always (default): Container들이 정상적으로 종료(zero exit code)되었더라도 재시작하는 정책. Container가 어떻게 종료되든 간에 무조건 구동 중이여야한다면 해당 옵션을 사용하는 것이 유용하다.
- OnFailure : Container가 비정상적으로 종료(non-zero exit code)하는 경우에만 재시작하는 정책. Pod가 특정 task를 수행하도록 설게되었고, 그 task가 완료(성공)되면 재시작하지 않는게 정상인 경우라면 해당 옵션을 사용하는 것이 유용하다.
- Never: Container의 exit code와 관계없이 재시작하지 않는 정책.
특징이 몇 가지 있다.
- Pod의 전체 container에 반영되는 속성이다. Pod의 필드지, Container마다 설정되는 필드가 아님을 주의하자.
- 재시작 정책에 따라 Pod가 존재하고 있는 Node의 kubelet에 의해 재시작된다. restartPolicy가 따르는 재시작은 kubelet 에 의해 재시작되는 경우만을 의미한다. 직접 코드 또는 외부에서 트리거시키는 등의 재시작은 해당 재시작 정책을 따르지 않을 수 있다.
재시작은 Container 종료와 함께 바로 실행되는 것일까? 아니다!
- 여러 분야의 구현체에서 특정 요청의 실패에 따라 재시도를 바로 하지 않고, 지수 백오프 지연(Exponential Back-off delay) 후에 진행한다. Kubernetes도 같다.
- kubelet은 지수 백오프 지연(10s/20s/40s/ ... /5m)로 Container 재시작을 시도한다. 재시도에 성공해서 10분간 정상적으로 구동되면, 재시작 지수 백오프 타이머를 재설정한다.
여러 Probe에 실패하면 재시도 하게 되는데, 이런 경우에도 재시도 정책을 따른다.
- 즉, Probe에 실패하면 kubelet 이 Container를 죽인다. 그러므로 해당 Container가 재시작 정책의 대상이 되는 것이다.
- 모든 Probe가 실패하면 재시작하게 되는 것은 아니다. livenessProbe, startupProbe 의 경우 실패(Failure) 시, 재시도하게 된다. 하지만 readinessProbe 는 실패해도 재시도하지 않는다.
References
Configure Liveness, Readiness and Startup Probes
What is the difference between always and on failure for kubernetes restart policy?
320x100
반응형
'Development > Docker & Kubernetes (K8s)' 카테고리의 다른 글
OCI, CRI 그리고 Container Image에 관하여 (3) | 2024.01.28 |
---|---|
Podman 사용하기 (M1 mac, 아주 심플하게) (0) | 2022.12.23 |
Kubernetes replicas 수 변경 (CLI) (0) | 2022.04.05 |
[Kubernetes] Owner - Dependent (Garbage collector) (0) | 2022.02.16 |
Sealed- secrets 바로 사용하기 (0) | 2022.01.30 |
댓글
반응형
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 하루
- docker
- hexagonal architecture
- java
- Algorithm
- Log
- 비동기
- c++
- Spring
- Spring boot
- MySQL
- HTTP
- 로그
- Intellij
- tag
- 백준
- Istio
- python
- Clean Architecture
- 일상
- 클린 아키텍처
- WebFlux
- container
- jasync
- gradle
- k8s
- 쿠버네티스
- boj
- Kubernetes
- 알고리즘
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함