728x90
반응형
Kubernetes에서는 "Probe"라는 개념을 통해 애플리케이션의 상태를 주기적으로 확인하고 관리합니다. 세 가지 유형의 프로브가 있습니다: livenessProbe, readinessProbe, 그리고 startupProbe.
- Liveness Probe (프로세스 생존 여부 확인)
- 목적: 애플리케이션 프로세스가 실행 중인지 확인.
- 동작: 정의된 조건을 충족하지 못하면 컨테이너를 다시 시작.
- Readiness Probe (애플리케이션 서비스 가능 여부 확인)
- 목적: 애플리케이션이 요청을 처리할 수 있는지 확인.
- 동작: 정의된 조건을 충족하지 못하면 서비스 엔드포인트에서 제거하여 트래픽을 방지.
- Startup Probe (애플리케이션 초기화 상태 확인)
- 목적: 애플리케이션이 초기화되고 실행 가능한 상태인지 확인.
- 동작: 설정된 시간 동안 초기화가 완료되지 않으면 컨테이너를 다시 시작.
Probe 유형 | Liveness Probe | Readiness Probe | Startup Probe |
목적 | 프로세스 생존 여부 확인 | 서비스 가능 여부 확인 | 초기화 상태 확인 |
동작 | 조건 불만족 시 컨테이너 재시작 | 조건 불만족 시 트래픽 차단 | 초기화 완료에 시간 제한, 재시작 가능 |
주요 사용 사례 | 애플리케이션 중단 시 자동 복구 | 트래픽 로드 밸런싱 전에 애플리케이션 준비 | 애플리케이션 초기화 전에 특정 조건 확인 |
Liveness Probe YAML 파일
apiVersion: v1
kind: Pod
metadata:
name: liveness-pod
spec:
containers:
- name: my-container
image: my-image
livenessProbe:
httpGet:
path: /healthz # 애플리케이션의 상태를 확인할 엔드포인트
port: 8080 # 사용할 포트
initialDelaySeconds: 3 # 컨테이너 시작 후 대기 시간
periodSeconds: 5 # 주기적으로 Probe 수행 간격
Readiness Probe YAML 파일
apiVersion: v1
kind: Pod
metadata:
name: readiness-pod
spec:
containers:
- name: my-container
image: my-image
readinessProbe:
httpGet:
path: /ready # 애플리케이션의 서비스 가능 여부 확인 엔드포인트
port: 8080 # 사용할 포트
initialDelaySeconds: 5 # 컨테이너 시작 후 대기 시간
periodSeconds: 10 # 주기적으로 Probe 수행 간격
Startup Probe YAML 파일
apiVersion: v1
kind: Pod
metadata:
name: startup-pod
spec:
containers:
- name: my-container
image: my-image
startupProbe:
httpGet:
path: /startup # 초기화 상태 확인 엔드포인트
port: 8080 # 사용할 포트
initialDelaySeconds: 10 # 컨테이너 시작 후 대기 시간
periodSeconds: 5 # 주기적으로 Probe 수행 간격
failureThreshold: 30 # 초기화가 지연된 경우 재시도 횟수 제한
728x90
반응형
LIST
'Kubernetes' 카테고리의 다른 글
[Kubernetes] K8S에서 MetalLB 설치하기 (1) | 2023.12.18 |
---|---|
[Kubernetes] Kubespray 로 K8S Cluster 구성하기 (2) | 2023.12.12 |
[IT잡지식] k8s와 ocp 를 명령어 비교표 (2) | 2023.10.10 |
[Kubernetes] run, create, apply 의 정의와 차이점 (1) | 2023.09.18 |
[Kubernetes] Kubernetes + Kubesphere 구축하기 - On Linux 설치편 (1) | 2023.07.23 |