madebychung

🧩 쿠버네티스 구조: kubectl 명령어가 처리되는 전체 흐름도 + 구성 요소 역할 본문

K8s

🧩 쿠버네티스 구조: kubectl 명령어가 처리되는 전체 흐름도 + 구성 요소 역할

mdchung 2025. 4. 7. 14:03

쿠버네티스 구조: kubectl 명령어가 처리되는 전체 흐름도 + 구성 요소 역할

 

더보기
[사용자]
   │
   ▼
[kubectl CLI]
   │
   ▼ HTTP Request (REST API)
[Kube API Server]
   │
 ┌─┴────────────┬────────────────────┬────────────────────────┐
▼              ▼                    ▼                        ▼
Scheduler   Controller Manager   etcd DB               Admission Webhooks
   │              │
   ▼              ▼
[Node]       [Desired State]
   │
 ┌─┴─────┬──────────┬─────────────┐
▼        ▼          ▼             ▼
kubelet  CRI-O   Containerd     Pods

각 구성 요소 역할 설명 

구성 요소역할
사용자 (User) kubectl 명령어를 입력하는 사람. ex) kubectl run nginx
kubectl CLI 사용자의 명령어를 Kubernetes API로 변환해서 서버에 요청 보냄
Kube API Server 클러스터의 모든 요청을 처리하는 입구.
REST API로 명령을 받고, 유효성 검사, 인증, 인가, Admission 처리 후 etcd에 저장
Admission Webhooks 보안 정책, 네임스페이스 제한 같은 추가 정책을 실행 전 검사/변경하는 필터 역할
etcd 쿠버네티스의 모든 설정/상태를 저장하는 분산 Key-Value DB (진짜 두뇌임)
Controller Manager “현재 상태”와 “원하는 상태”가 다르면 자동으로 맞춰줌 (ex: Pod이 죽었으면 새로 만듦)
Scheduler Pod이 생성되었을 때, 어떤 Node에 배포할지 결정하는 애
Node 실제 컨테이너가 돌아가는 물리/가상 서버
kubelet Node에서 실행되는 에이전트. API 서버 지시를 받아 컨테이너 실행하고 상태 보고
CRI-O / Containerd 컨테이너 실행을 실제로 처리하는 런타임. 이미지 pull하고 컨테이너 실행
Pod 컨테이너가 들어있는 가장 작은 실행 단위. nginx든 redis든 다 Pod 안에서 돌음