본문으로 바로가기

쿠버네티스 - livenessProbe

category Kubernetes 2021. 7. 14. 19:51
반응형

출처 : https://kubernetes.io/

 

Production-Grade Container Orchestration

Production-Grade Container Orchestration

kubernetes.io

쿠버네티스 공식 홈페이지에서 명시한 쿠버네티스의 기능 10가지 중에 Self-healing 기능을 알아보려고 한다.

Self-healing 기능 안에 포함된게 이번에 정리할  livenessProbe 기능이다.

 

컨테이너가 건강한지 안한지 체크, 건강하지 않으면 재시작 

 

Liveness Probe

  • Pod가 계속 실행할 수 있음을 보장
  • Pod의 spec에 정의

ex ) nginx 파드를 생성하는 yaml 파일에 livenessProbe 추가 

livenessProbe를 통해서 셀프 힐링 체크를 한다. (httpGet 옵션을 통해 80번 포트로)

 

livenessProbe 매커니즘

httpGet probe  지정한 IP 주소, port, path에 HTTP GET 요청을 보내, 해당 컨테이너가 응답하는지를 확인. 반환코드가 200이면 정상 그외의 값이 나올경우 오류. 컨테이너를 재실행 한다.
tcpSocket probe 지정된 포트에 TCP 연결을 시도, 연결되지 않으면 컨테이너를 다시 시작한다.
exec probe exec 명령을 전달하고 명령의 종료코드가 0이 아니면 컨테이너를 다시 시작한다.

체크를 해서 재시작 하더라도, 컨테이너를 재시작 하는것 이기 때문에(Pod가 아닌) 각 pod 마다 ip 주소는 변경되지

않는다.

 

liveness prode 매개변수

periodSeconds health check 반복 실행 시간(초)
initialDelaySeconds Pod 실행 후 delay할 시간(초)
timeoutSeconds health check후 응답을 기다리는 시간(초)

nginx를 생성하는 yaml 파일에 liveness probe를 추가해주고 생성해줫다

 

describe 옵션을 사용해서 조회하니 liveness가 출력된다.

 

반응형