쿠버네티스 이루는 것들
구역을 나누는 네임 스페이스 (Namespace)
- default, kube-system, metal-system : 호실로 생각하면 된다. 서로의 구역이 나뉘어 져있다.
kubectl get pods -n kube-system
- 네이티브 쿠버네티스 구성 요소 확인
eks에서도 쿠버네티스 구성 노드가 있는 것을 확인할 수 있다. 이는 aks나 gke도 마찬가지이다. 3사에서 차이 많이 있다. 그런 구성 요소들을 보여주지 않는다. 숨겨져 있는 마스터 노드가 관리하고 있다.
쿠버네티스 기본 철학
MSA로 구성되어 있다. 하는 일들이 개별적으로 나뉘어져 있다.
- API 서버는 움직이지 않는다. 모든 것을 감시만 한다. 모든 상태 값의 중심에 있다.
- Controller Manager가 파드를 생성한다.
- 스케줄러 또한 새로운 파드를 워커 노드에 넣는지 스케줄링 한다.
- kubelet은 컨테이너 런타임을 통해서 파드의 동작관리를 하고, 컨테이너를 생성한다.
선언적인 시스템 : 추구하는 상태와 현재 상태를 맞추려고 한다.
- api 서버와 etcd : etcd는 매번 api 서버에 업데이트 되었음을 알린다. API 서버는 매번 클러스터의 업데이트된 정보를 기록한다.
실제 쿠버네티스의 파드 배포 흐름
- 관리자가 kubectl을 친다.
- API 서버는 etcd 서버와 거의 1대1 동기화 되어있다.
- 컨트롤러 매니저
- 스케줄러
- 컨테이너 런타임이 파드를 생성하는 구조
- 쿠버 프록시를 통해서 사용자가 통신한다. (calico를 사용)
가장 중요한 것은!!!!
즉 모든 것은 api가 중심에 있다. 모든 것의 시작이자 끝이다…
'개발 관련 일지 > k8s' 카테고리의 다른 글
쉽게 시작하는 쿠버네티스 CH6 쿠버네티스 Tips (0) | 2024.01.21 |
---|---|
쉽게 시작하는 쿠버네티스 CH5 쿠버네티스 오브젝트 (0) | 2024.01.21 |
쉽게 시작하는 쿠버네티스 CH4 문제를 통해 배우는 쿠버네티스 (0) | 2024.01.21 |
쉽게 시작하는 쿠버네티스 CH2 배포를 통한 쿠버네티스 체험 (0) | 2024.01.21 |
쉽게 시작하는 쿠버네티스 CH1 쿠버네티스 환경 구성 (1) | 2024.01.21 |