🤔 누가 내 컨테이너를 살린거야?

아직 Kubernetes 에 대한 지식이 부족했던 때(물론 지금도 지식이 많다고 볼순 없지만 🥲)

Liveness probe 설정을 하지 않았음에도 Container 가 자동으로 재시작을 하는걸 보고

어떻게 재시작을 하게된건지 찾아봤던 경험이 있습니다.


그때 찾아봤던 내용을 자세히 잘 정리한 블로그 글이 있어 공유드립니다.


결론만 정리하자면,

Kubernetes 는 Liveness probe 가 아니더라도 자체적으로 self healing 기능을 제공해주는데요,

다음과 같은 조건만 부합하면 Container 를 재시작하도록 합니다.


  • spec. restartPolicy 값이 Never 가 아닐 경우(Always, OnFailure, Never 이 있고 default 는 Always 다)

  • 첫번째로 띄운(PID 가 1 인) Process 가 죽었을 경우. 이를 kubelet 에서 감지하여 해당 Container 만 재시작한다.


만약 Container 안에 여러개의 Process 를 실행할 경우 위에서 정의한 self healing 기능으로 인해 의도치 않게 Container 가 재시작을 할 수 있으니 이부분을 잘 고려해야합니다.


자세한 동작을 알고 싶다면 공유드린 원문 링크를 참고해주세요.


📚 원문

https://songii00.github.io/2022/03/06/k8s%20%EC%82%BD%EC%A7%88%ED%95%98%EA%B8%B0%20-%20%EC%BB%A8%ED%85%8C%EC%9D%B4%EB%84%88%EA%B0%80%20%EC%9E%AC%EC%8B%9C%EC%9E%91%EB%90%9C%20%EC%9D%B4%EC%9C%A0/

k8s 삽질하기 - 컨테이너가 재시작된 이유 - Songi | Song's Tech Blog

songii00.github.io


        
          k8s 삽질하기 - 컨테이너가 재시작된 이유 - Songi | Song's Tech Blog

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2024년 1월 25일 오전 9:26

 • 

저장 16조회 3,273

댓글 0