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에는 주(主) 애플리케이션 컨테이너와 로그 수집·프록시 등 보조 컨테이너가 함께 배치

반응형

+ Recent posts