Cloud, Kubernetes

[Kubernetes] Pod의 개념과 필요성

준몽쓰 2025. 5. 3. 15:50

Pod

Pod(파드, 포드)는 쿠버네티스가 생성하고 관리하는 가장 작은 컴퓨터 단위이다. 파드는 한 개 이상의 리눅스 컨테이너로 구성되며, 애플리케이션(인스턴스)이 실행되는 논리적 호스트(컴퓨터)이다. Pod는 물리 컴퓨터인 쿠버네티스 워커노드에 배치되어 실행되는데, 쿠버네티스의 목적이 바로 Pod들을 안정적이고 효율적으로 클러스터 내에서 실행시키는 것이다.

 

리눅스 컨테이너, 쿠버네티스가 대중화 되기 전에 이러한 애플리케이션은 작은 프로세스(DB, 웹서버, 로거 ) 단위로 개발 및 운영되었다. 도커가 대중화되면서 개발자들은 리눅스 컨테이너 단위로 애플리케이션을 쪼개서 개발 및 운영하게 되었다. 쿠버네티스는 이들과 마찬가지로 Pod 단위로 애플리케이션을 운영한다. 개발자는 애플리케이션을 이루는 Pod (웹로직 pod, DB pod) 들을 개발하고 이를 쿠버네티스에 운영한다.

 

Pod의 필요성

애플리케이션은 하나의 프로세스(Container, Pod)로 만들어질 수도 있지만, 여러 개의 프로세스(Container)로 구성될 수도 있다.

요즘은 MSA(마이크로서비스 아키텍처)라해서, 대규모 애플리케이션을 작은 소규모 프로세스로 분리해서 개발하는 경우가 많아지고 있다.

 

예시로 온라인 쇼핑몰 개발할 때 하나의 애플리케이션 안에 모등 기능이 들어있다. (사용자 관리, 주문 처리, 결제 시스템, 상품 관리) 등 하나의 코드베이스에 통합되어 있고, 작은 수정에도 전체 배포가 필요한데 MSA로 하면 기능을 각각 독립된 서비스로 분리한다. (회원서비스, 상품서비스, 주문서비스, 결제서비스 ..) 이러면 각 서비스가 독립적으로 배포 가능하여 한 서비스만 수정해도 전체 재배포가 불필요하다.

 

쿠버네티스의 파드 운영

쿠버네티스는 기본적으로 여러 대의 컴퓨터로 이루어진 클러스터(그림에선 3대)를 타켓으로 하며 이 클러스터 내에서 애플리케이션이 효율적으로 실행될 수 있도록 Pod들을 클러스터에 분산 배치한다. Pod들은 쿠버네티스 노드(실제 컴퓨터, Worker node)에 배치되어 그 노드에서 실행된다. (Pod 한개는 하나의 노드에서 실행된다.)

 

 

'Cloud, Kubernetes' 카테고리의 다른 글

[Kubernetes] Pod 와 Container  (0) 2025.05.05