개발 이야기/쿠버네티스

쿠버네티스 - 파드 - 11

석구석구 2021. 7. 23. 00:19

파드는 쿠버네티스에서 가장 중요한 개념이다.

파드는 컨테이너 그룹이며, 구성단위다. 쿠버네티스는 파드 단위로 배포하고 운영한다. 기본 단위인 파드를 쪼개, 여러 워커 노드에서 실행할 수는 없으며, 하나의 워커 노드에는 여러 파드가 있을 수 있다.

 

컨테이너 묶음의 장점

하나의 컨테이너에 여러 프로세스를 띄우는 것보다, 각자의 컨테이너에서 단일 프로세스를 실행하는 것이 낫다. 때문에 자연스레 다중 프로세스는 다중 컨테이너 환경에서 실행될 것이고 이런 다중 컨테이너를 파드라는 하나의 단위로 그룹핑하는 것이다. 이것은 하나의 컨테이너에서 복수의 프로세스가 동작하는 것과 같은 장점을 가질 수 있게 해 준다. 하지만 프로세스는 컨테이너 단위로 격리되어 있기 때문에 분리의 장점도 함께 가져가게 된다. 또한 파드 내의 컨테이너들은 같은 IP 주소와 포트 공간을 공유하게 된다. 때문에 같은 포트를 사용하지 않도록 주의해야 한다. 물론 로컬 호스트를 통해 서로 통신이 가능하다. 이것은 컨테이너인가 프로세스인가!

파드 내의 컨테이너는 동일한 리눅스 네임스페이스안에서 실행된다. 때문에 IPC를 통해 내부 통신을 할 수 있다.

하지만 파일 시스템은 컨테이너의 이미지에 기반하기 때문에 완전히 분리된다. 물론 볼륨을 통해 공유가 가능하다.

 

파드와 파드는 서로 IP를 통해 접근할 수 있다.

 

필요한 만큼 파드를 만들 수 있다. 애플리케이션을 관련있는 구성 요소들로 쪼개고, 그 요소들을 파드로 구성하자. 파드 내의 모든 컨테이너는 같은 워크 노드에 위치하게 된다. 때문에 애플리케이션을 여러 파드로 분리한다면, 여러 워크 노드를 이용할 수 있게 되고, 이것은 자원 활용의 효율을 높인다.

 

또한 파드는 최소한의 단위이므로, 최소한의 밀접성 있는 컨테이너끼리 구성된, 작고 귀여운 여러 파드는 스케일링에 장점을 가진다.

 

 

 

 

'개발 이야기 > 쿠버네티스' 카테고리의 다른 글

쿠버네티스 - 레이블 - 13  (0) 2021.08.01
쿠버네티스 - YAML - 12  (0) 2021.07.28
쿠버네티스 - 수평 확장 - 10  (0) 2021.07.14
쿠버네티스 - 시스템 구조 - 9  (0) 2021.07.11
쿠버네티스 - 파드 - 8  (0) 2021.07.04