![](https://velog.velcdn.com/images/moonyoung/post/e86de73c-aeba-43b0-be0e-0137b7d0b2e9/image.png)
쿠버네티스 주요 컴포넌트
Master Node
kube-apiserver
- kubectl로 입력하는 요청의 유효성 검증
- 마스터 노드의 main
- 다른 컴포넌트를 실행하며 총괄한다.
- ex. nginx service를 생성해달라는 요청 -> 요청 검증 -> scheduler에 어느 파드에 실행할지 확인 ...
- 쿠버네티스가 MSA 구조로 되어있어 컴포넌트간의 처리를 kube-apiserver에서 해준다.
etcd
- key value 저장소
- 쿠버네티스 운영에 필요한 데이터 저장
- 더 안정적으로 운영하려면 주기적으로 etcd를 백업해주는 게 좋다.
kube-scheduler
- 요청을 처리할 적합한 노드 선택
- etcd에 있는 데이터를 기반으로 노드를 선택한다.
- 노드에서 사용하고 있는 메모리 사용량 등을 토대로 적합한 노드 선택
kube-controller
- 파드 관리
- 파드가 잘 살아있는지, 파드 개수 잘 유지되고 있는지 관리한다.
Worker Node
kubelet
- 데몬셋 형태로 실행된다.
- 파드, 컨테이너 관리
- 컨테이너 모니터링
- 컨테니어의 CPU, Memory 사용량/헬스체크 등
- by. kubelet 내부에 있는 cAdvisor
- 파드/컨테이너의 데이터 -> master node -> etcd
- etcd에 있는 데이터를 보고, 스케줄러/컨트롤러 동작한다.
kube-proxy
컨테이너 런타임
- 저장소에서 이미지를 가져와서 실행한다.
- 도커 데몬셋
- 주로 도커쓰지만, 도커 외에 다른 컨테이너 런타임 가능
에드온
- 추가 기능
- ex. logstash, fluentd (로그 수집), ES (데이터 정제), Kibana (수집한 데이터 보여주기)
- ex. datadog (로그 수집, 데이터 정제, 보여주기 한번에)
https://www.youtube.com/watch?v=Iue9TC13vPQ