q1: Kubernetes(K8s)의 핵심 개념인 Cluster, Node, Pod, Container
a1:
1. Cluster (클러스터)
• 정의: 여러 대의 서버(물리·가상)를 하나의 논리적 단위로 묶은 Kubernetes 환경 전체를 말합니다.
• 구성 요소:
• Control Plane: API 서버(kube-apiserver), 스케줄러(kube-scheduler), 컨트롤러 매니저(kube-controller-manager) 등
• Worker Nodes: 실제 애플리케이션을 실행하는 서버
⸻
2. Node (노드)
• 정의: 클러스터를 구성하는 개별 머신(물리 서버 혹은 VM) 한 대입니다.
• 주요 컴포넌트:
• kubelet: Control Plane과 통신하며 Pod의 라이프사이클을 관리
• kube-proxy: 서비스 네트워크 트래픽을 해당 Pod로 라우팅
• 컨테이너 런타임: Docker, containerd 등 실제 컨테이너를 구동
⸻
3. Pod (파드)
• 정의: Kubernetes에서 가장 작은 배포 단위입니다.
• 특징:
• 하나 이상의 컨테이너가 공유 네트워크(IP/포트) 및 **공유 스토리지(Volume)**를 통해 함께 실행됨
• 동일 Pod 내 컨테이너는 localhost로 통신 가능
• 스케일링·롤링 업데이트 등 관리 대상 단위
⸻
4. Container (컨테이너)
• 정의: 애플리케이션 코드와 실행 환경(라이브러리·의존성 등)을 하나로 패키징한 가벼운 가상화 단위입니다.
• 역할:
• 개발·테스트·운영 환경 간 일관된 실행 환경 제공
• 격리된 프로세스로 동작하여 다른 컨테이너·호스트 시스템과 자원 충돌 최소화
• Pod와의 관계:
• Pod 안에 하나 혹은 복수의 컨테이너가 포함될 수 있으며, 보통 한 Pod에는 주(主) 애플리케이션 컨테이너와 로그 수집·프록시 등 보조 컨테이너가 함께 배치
Kubernetes(K8s)의 핵심 개념인 Cluster, Node, Pod, Container 250515
2025. 5. 15. 07:58
반응형