본문 바로가기

Certificate/CKA

[CKA] 쿠버네티스 클러스터 아키텍처

 

Master Node(Control Plane) : Manage, Plan, Schedule, Monitor Nodes

Master Node(Control Plane) Component

  • kube Controller Manager : 클러스터 내 컨트롤러(노드, 레플리카 등)들의 상태를 관리하는 컴포넌트.
  • kube-apiserver : 클러스터의 모든 요청을 받아 처리하는 중앙 API 게이트웨이.
  • kube-scheduler : 새로운 파드가 어떤 노드에 할당될지 결정하는 스케줄러.
  • ETCD CLUSTER : 클러스터의 모든 상태 정보를 저장하는 분산 키-값 저장소.

Worker Node(Data Plane) : Host Application as Containers

  • kubelet : 각 노드에서 파드와 컨테이너의 상태를 관리하는 에이전트. (마스터 노드에게 주기적으로 보고)
  • Kube-proxy : 네트워크 프록시로 서비스 간 트래픽을 라우팅.
  • Container Runtime Engine : 컨테이너를 실제로 실행하는 런타임 예) Docker, ContainerD, rkt

More

Q1. 클러스터 내 컨트롤러의 역할은 무엇일까?

  • 컨트롤러는 클러스터의 현재 상태를 지속적으로 감시하고, 사용자가 원하는(선언된, desired) 상태와 실제(current) 상태를 일치시키기 위해 리소스를 생성, 수정, 삭제하는 자동화된 루프를 수행

Q2. ETCD 클러스터에 보통 어떤 정보가 저장될까?

  • etcd 클러스터에는 Kubernetes의 모든 리소스 정보(파드, 노드, 서비스, 네임스페이스, 컨피그맵, 시크릿, RBAC, CRD 등)와 클러스터의 상태 및 구성 데이터가 key-value 형태로 저장

Q3. kubectl get 혹은 describe 명령어로 쿠버네티스 내 리소스 상태를 조회하는 흐름

1) kubectl → kube-apiserver에 요청을 보냄

2) kube-apiserver → 메모리에 캐싱된 데이터인지 확인 → 캐싱되어 있지 않으면 etcd에 요청

3) etcd에서 반환한 데이터를 사용자에게 출력

Ref



'Certificate > CKA' 카테고리의 다른 글

[CKA] Kubernetes Scheduler  (0) 2025.06.09
[CKA] Kubernetes Controller Manager  (0) 2025.06.09
[CKA] Kubernetes API Server  (1) 2025.06.05
[CKA] ETCD Cluster  (1) 2025.06.05
[CKA] Docker와 ContainreD 비교  (0) 2025.06.04