■ Kubernetes Architecture
Control Plane Component
1. kube-apiserver
API Server는 쿠버네티스 API를 노출하는 쿠버네티스 Control Plane Component
수평으로 확장되도록 디자인 되어 더 많은 인스턴스를 배포해서 확장할 수 있음
여러 kube-apiserver 인스턴스를 실행하고, 인스턴스간의 트래픽을 균형있게 조절 가능
2. etcd
모든 클러스터 데이터를 담는 쿠버네티스 뒷단의 저장소로 사용되는 일관성, 고가용성 키-값 저장소
'key:value' 형식으로 node1, node2에 대한 정보를 저장
상태정보와 컨테이너가 동작중인 상태, 이미지 상태에 대한 정보를 저장
3. kube-scheduler
node가 배정되지 않은 새로 생성된 Pod를 감지하고, 실행할 Node를 선택하는 Control Plane Component
어느 node에 배정할 것인지? node 체크 후 응답하고 할당
Node Component
1. kubelet
클러스터의 각 Node 에서 실행되는 Agent
Pod에서 Container가 확실하게 동작하도록 관리
2. kube-proxy
클러스터의 각 노드에서 실행되는 네트워크 프록시로, 쿠버네티스의 Service 개념의 구현부
3. Container Runtime
컨테이너 실행을 담당하는 SW
Addon
애드온은 쿠버네티스 Resource(Daemonset, Deployment 등)을 이용하여 클러스터 기능을 구현
클러스터 단위의 기능을 제공하기 때문에 애드온에 대한 namespace Resource는 kube-system namespace에 속함
1. DNS
클러스터 DNS는 구성환경 내 다른 DNS 서버와 더불어, 쿠버네티스 서비스를 위해 DNS 레코드를 제공해는 DNS Server
2. Container Reource Monitoring (cAdvisor)
중앙 DB 내의 컨테이너들에 대한 포괄적인 시계열 매트릭스를 기록하고 그 데이터를 열람하기 위한 UI를 제공
3. Cluster-Level Logging
검색/열람 인터페이스와 함께 중앙 로그 저장소에 컨테이너 로그를 저장하는 책임을 짐
'DevOps > Kubernetes' 카테고리의 다른 글
[kubernetes] namespace (0) | 2022.08.24 |
---|---|
[Kubernetes] 쿠버네티스란? (0) | 2022.08.23 |
[kubernetes] Argo CD Install (0) | 2021.12.22 |
[kubernetes] Helm으로 Jenkins Deploy (1) | 2021.11.12 |
[kubernetes] EKS Cluster 내부에 AWS RDS 구축 (0) | 2021.11.10 |