inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Application 기능으로 k8s 이해 - Probe

이효정
1

Application 기능으로 k8s 이해 - Probe에 대해 학습해 보자!

 

pod안에 probe설정 3가지 : startupProbe/ readinessProbe / livenessProbe

pod가 만들어 지면 probe 기능 동작


startupProbe

httpGet:

path:"/ready" (공통사항)

port: 8080 (공통사항)

periodSeconds:10

successThreshold: 1

failureThreshold: 10 (성공, 실패 수치 )


readinessProbe

httpGet:

path:"/ready" (공통사항)

port: 8080 (공통사항)

periodSeconds:10

successThreshold: 1

failureThreshold: 2 (성공, 실패 수치 )


livenessProbe

httpGet:

path:"/ready" (공통사항)

port: 8080 (공통사항)

periodSeconds:10

successThreshold: 1

failureThreshold: 2 (성공, 실패 수치 )

 

 

(동작 예시)

image


Application에는 동작이 있다. 그 동작이 자동화 되길 요구 한다.

[초기화 과정-> User 초기화-> 앱 기동]

App 초기화

User 초기화

App 기동

 

쿠버네티스 제공 기능

image [출처: 인프런 - 쿠버네티스 어나더 클래스 ]

livenessProbe

성공하면 startupProbe 중지 -> livenessProbe, readinessProbe 기능 활성화 -> livenessProbe는 설정된 API 호출-> 만약 (실패)--->장애라고 판단하고 pod 재기

 

readinessProbe

여전히 Service를 Pod에 연결하고 있지 않음 -> 연결 성공 -> 쿠버네티스가 Service랑 Pod를 연결 -> 트래픽 들어옴 --> 만약 (실패)---->쿠버네티스는 연결 해제 -> 재연


 

실습

pod를 삭제하고 외부 API 실패

app이 초기화 되고 있는 동안에는 실패한다

image

내부 API는 성공!

image

기동 완료 -> 다시 외부 API 날리면 성공!

image

트래픽 중단 - App 내부 isAppReady를 False로 바꿈

image

readinessProbe가 3번 실패하면, Service랑 Pod 연결 해제 & 외부 트래픽 받을 수 없음

image

트래픽 재개 -> App 내부 isAppReady를 True로 바꿈

imageimage

API - 장애발생 (App 내부 isAppLive를 False로 바꿈) & 재기동

image

데브옵스 · 인프라 쿠버네티스 Probe 데브옵스 공부 열정 실습 아자아자화이팅

답변 0