[Kubernetes] 포드 vs. 도커 컨테이너

연수·2021년 11월 1일
1

kubernetes

목록 보기
5/15

쿠버네티스는 왜 '도커 컨테이너'가 아니라 '포드'라는 새로운 개념을 굳이 사용하는 걸까?!

쿠버네티스가 포드를 사용하는 이유는 여러 가지가 있지만, 그 중 가장 핵심적인 이유는

여러 리눅스 네임스페이스(namespace)를 공유하는 여러 컨테이너들을 추상화된 집합으로 사용하기 위해서

이다.

예를 들어, nginx와 우분투 컨테이너를 포함한 포드를 생성해보자.

이 때, kubectl exec 명령어를 이용해 우분투 컨테이너의 내부로 들어가 로컬호스트로 HTTP 요청을 전송하면 nginx 서버의 응답이 도착하는 것을 확인할 수 있다.

우분투 컨테이너가 nginx 서버를 실행하고 있지 않아도 우분투 컨테이너의 로컬호스트에서 nginx 서버로 접근이 가능한 것이다.

이는 포드 내의 컨테이너들이 네트워크 네임스페이스 등과 같은 리눅스 네임스페이스를 공유해 사용하기 때문이다.

컨테이너 네트워크 타입은 네트워크 네임스페이스를 컨테이너 간에 공유해 사용할 수 있도록 설정하기 때문에 여러 개의 컨테이너가 동일한 네트워크 환경을 가지게 된다. 쿠버네티스의 포드 또한 이러한 리눅스 네임스페이스의 공유 개념을 사용하고 있다.

1개의 포드에 포함된 컨테이너들은 네트워크 뿐 아니라 여러 개의 리눅스 네임스페이스를 공유한다.

[출처] 시작하세요! 도커/쿠버네티스 (용찬호 지음)

profile
DCDI

0개의 댓글