쿠버네티스는 서버에서 데몬 서비스처럼 동작하는지 궁금합니다
213
작성한 질문수 5
VM 을 전원 재기동 해서 쿠버네티스도 종료되어서 파드들이 다 죽는 것으로 생각했는데, 재기동 후 파드 조회를 해보니 하나씩 Running 상태로 되어가더라구요.
쿠버네티스 자체는 서버에서 데몬처럼 동작하고, 쿠버네티스들이 파드를 자동으로 Run 시켜주는 것으로 보이는데 해당 현상에 대한 해석이 맞는지 문의드립니다.
감사합니다.
답변 1
1
네 맞습니다.
쿠버네티스 자체 컴포넌트들은 vm재기동시 자동으로 기동되도록 되어 있어요.
일반적으로 pod는 deployment와 같은 컨트롤러에 의해서 기동이 되는데, replicas가 2로 되어 있기 때문에 쿠버네티스가 항상 2개의 pod가 정상적으로 running이 되도록 유지시켜 주는데요.
근데 vm을 재기동 했을 때는 좀 다른 절차로 pod를 재시작시켜요.
정확한 절차는 아래와 같습니다.
데몬 서비스: 쿠버네티스는 kubelet, kube-proxy와 같은 데몬 서비스들이 각 노드(VM)에 설치되어 있어, 이 서비스들이 자동으로 시작되게 됩니다. 이 데몬들은 쿠버네티스 마스터와 통신하여 노드의 상태를 마스터에 보고하고, 마스터로부터 명령을 받습니다.
자동 복구: 쿠버네티스의 컨트롤 플레인(주로 마스터 서버에서 동작)은 노드와 파드의 상태를 지속적으로 모니터링합니다. VM이 재기동하더라도, kubelet이 자동으로 재시작되며, 이후 쿠버네티스 API 서버와 통신을 재개합니다.
파드 재스케줄링: kubelet은 마스터로부터 해당 노드에 할당된 파드들을 다시 받아 실행합니다. 이 과정에서 파드들은 Running 상태로 돌아가게 됩니다. 쿠버네티스는 파드의 상태를 Desired State로 유지하려고 시도하기 때문에, 파드 스펙에 정의된 상태로 자동으로 복구 시도를 합니다.
현재 단계에서 이 내용을 알기에는 좀 복잡한 내용이긴 한데, 대략적인 느낌을 이해해 주시면 됩니다 :)
젠킨스버전과 플러그인설치
1
35
2
강의자료 원본 애니메이션처리가 되어 있을까요?
1
87
1
get pods 했을 때 connection refused가 뜹니다.
1
92
3
베이그란트 플러그인 설치 실패
1
86
1
실습겸 미니pc사보려는데 이정도면 괜찮을까요?
0
95
2
Image updater 1.0 이후 CRD 기반 변경 시 적용 방법 공유합니다.
1
85
1
기본 values 파일과 service name에 대한 질문이 있습니다.
0
73
2
Sprint 2 강의에서 yaml 파일들 경로에 대해 궁금한게 있어요.
1
64
2
Selector의 속성에 대해 질문 드립니다.
1
60
1
인스턴스 스펙
1
70
2
Container 기술 관련해서 질문드립니다.
1
84
3
Jenkins 빌드 UI 설정 관련 질문드립니다.
1
86
3
Jenkins 빌드 진행 UI 설정
0
70
1
cicd 서버 올린 후 기존 마스터 노드 기동 시 네트워크 에러
1
80
2
HPA - Auto Scaling 실습 관련 에러 해결 공유.
1
66
1
Loki-Stack 실습 관련 질문
1
74
2
Self-Healing 테스트 중 문의사항
1
73
2
영상 내용과 강의 자료가 상이해서 강의 듣기가 짜증납니다.
0
108
2
젠킨스 구축 9단계 오류
1
89
3
실습환경 네트워크 끊김 및 느린 속도 관련 질문
1
86
2
온프레미스 환경에 쿠버네티스도입
1
102
1
SealedSecret 관련 궁금증.
1
53
1
vagrant up 사용 시 The SSH connection was unexpectedly closed by the remote end
1
90
2
젠킨스 배포 질문
1
60
2





