PART 02. 쿠버네티스 기본 개념
1. 쿠버네티스 동작 과정
① 컨테이너를 push 명령어를 이용하여 허브(사내 or docker hub)에 저장한다.
② 이 컨테이너가 실행될 수 있도록 yaml 또는 CLI 형태(kubectl 명령)로 마스터(컨트롤 플레인)로 요청
③ 컨트롤 플레인의 API 서버는 요청에 따라 어느 노드가 적합할 지 스케쥴러에게 요청
④ 스케쥴러는 적합한 노드의 kubelet에게 요청
⑤ kubelet은 도커 명령으로 바꿔서 도커에게 실제 실행 요청
⑥ 도커 데몬은 허브에 정의된 컨테이너가 있는지 서치한 후 있으면 노드의 컨테이너로 실행
⑦ 이렇게 동작되는 컨테이너를 pod라고 한다.
2. 쿠버네티스 컴포넌트
① 마스터 컴포넌트
- etcd : key-value 타입의 저장소
- kube-apiserver : k8s API를 사용하도록 요청을 받고 요청이 유효한지 검사
- kube-scheduler : 파드를 실행할 노드 선택
- kube-controller-manager : 파드를 관찰하며 개수를 보장
② 워커 노드 컴포넌트
- kubelet : 모든 노드에서 실행되는 k8s 에이전트로, 데몬 형태로 동작
- kube-proxy : k8s의 network 동작을 관리하며 iptables rule을 구성
- 컨테이너 런타임
- 컨테이너를 실행하는 엔진
- docker, containetd, runc
3. 애드온
- 네트워크 애드온
- CNI - weave, calico, flaneld, kube-route ...
- DNS 애드온 : coreDNS
- 대시보드 애드온 : 웹 UI
- 컨테이너 자원 모니터링 : cAdvisor
- 클러스터 로깅
- 컨테이너 로그, k8s 운영 로그들을 수집해서 중앙화
- ELK(ElasticSearch, Logstash, Kibana), EFK(ElasticSearch, Fluentd, Kibana), DataDog
Reference
'Cloud > Kubernetes' 카테고리의 다른 글
[Kubernetes] 쿠버네티스 아키텍쳐 | yaml, API (0) | 2021.12.07 |
---|---|
[Kubernetes] 쿠버네티스 아키텍쳐 | namespace (0) | 2021.12.07 |
[Kubernetes] 3-2. kubectl command | pod 생성하기 (0) | 2021.12.07 |
[Kubernetes] kubectl 실습 환경 구성 (0) | 2021.12.06 |
[Kubernetes] 도커 쿠버네티스 설치 (0) | 2021.12.06 |