k8s 삽질하기 - 컨테이너가 재시작된 이유 - Songi | Song's Tech Blog
songii00.github.io
아직 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/
다음 내용이 궁금하다면?
이미 회원이신가요?
2024년 1월 25일 오전 9:26