• 카테고리

    질문 & 답변
  • 세부 분야

    데브옵스 · 인프라

  • 해결 여부

    미해결

쿠버네티스는 서버에서 데몬 서비스처럼 동작하는지 궁금합니다

24.04.16 02:52 작성 조회수 93

1

VM 을 전원 재기동 해서 쿠버네티스도 종료되어서 파드들이 다 죽는 것으로 생각했는데, 재기동 후 파드 조회를 해보니 하나씩 Running 상태로 되어가더라구요.

쿠버네티스 자체는 서버에서 데몬처럼 동작하고, 쿠버네티스들이 파드를 자동으로 Run 시켜주는 것으로 보이는데 해당 현상에 대한 해석이 맞는지 문의드립니다.

감사합니다.

답변 1

답변을 작성해보세요.

0

네 맞습니다.

쿠버네티스 자체 컴포넌트들은 vm재기동시 자동으로 기동되도록 되어 있어요.

일반적으로 pod는 deployment와 같은 컨트롤러에 의해서 기동이 되는데, replicas가 2로 되어 있기 때문에 쿠버네티스가 항상 2개의 pod가 정상적으로 running이 되도록 유지시켜 주는데요.

 

근데 vm을 재기동 했을 때는 좀 다른 절차로 pod를 재시작시켜요.

정확한 절차는 아래와 같습니다.

  1. 데몬 서비스: 쿠버네티스는 kubelet, kube-proxy와 같은 데몬 서비스들이 각 노드(VM)에 설치되어 있어, 이 서비스들이 자동으로 시작되게 됩니다. 이 데몬들은 쿠버네티스 마스터와 통신하여 노드의 상태를 마스터에 보고하고, 마스터로부터 명령을 받습니다.

     

     

  2. 자동 복구: 쿠버네티스의 컨트롤 플레인(주로 마스터 서버에서 동작)은 노드와 파드의 상태를 지속적으로 모니터링합니다. VM이 재기동하더라도, kubelet이 자동으로 재시작되며, 이후 쿠버네티스 API 서버와 통신을 재개합니다.

 

  1. 파드 재스케줄링: kubelet은 마스터로부터 해당 노드에 할당된 파드들을 다시 받아 실행합니다. 이 과정에서 파드들은 Running 상태로 돌아가게 됩니다. 쿠버네티스는 파드의 상태를 Desired State로 유지하려고 시도하기 때문에, 파드 스펙에 정의된 상태로 자동으로 복구 시도를 합니다.

현재 단계에서 이 내용을 알기에는 좀 복잡한 내용이긴 한데, 대략적인 느낌을 이해해 주시면 됩니다 :)