이 글은 쿠버네티스 아키텍처 1/3 (구성/설계) 영상을 보고 정리한 글입니다.
쿠버네티스는 상태체크를 한다. 서버를 몇개 띄워야하는 지 그런 설정 파일을 체크하는 것!
그리고 설정파일과 실제가 다르면 차이점을 발견한다.
그 후, 설정파일과 일치하게끔 만드려고 조치
를 취한다.
etcd라는 데이터베이스(모든 상태와 데이터를 key,value로 저장해주고 백업해주는 역할),
API Server는 scheduler, controller이 다 api서버로만 오니까 교통정리 해주는 느낌.
API Server는 etcd와 통신하는 유일한 아이이다.
API Server는 권한도 체크해준다. 권한을 체크하여 db에 정보를 갱신하기도 한다.
모두 다 api server만 찾는다.
node도 api server만 바라본다.
api server 인기쟁이네
kublet
(큐블렛)은 pod과 직접 통신한다.
pod의 실행/중지 , 상태 체크를 한다.
컨테이너를 직접 사용하는게 아니라 pod이라는 걸로 감싸서 사용한다.
바로 통신하지 않고 proxy를 통해서 통신함.
무조건 API Server를 통해서 통신하고,
스케줄러, 컨트롤러, 큐블렛은 계속 상태변화가 있는지 체크해주는 아이들이다.
예를들어 관리자가 pod생성
요청을 했다고 할 때.
pod 노드 할당
을 etcd에게 요청한다. (근데 아직 실행된 상태는 아니자나???)미실행 pod 확인
을 한다. 미실행 pod이 있다면 pod을 생성해준다.pod이 생성됐으며 실행중
이라는 정보가 들어가게된다.