본문 바로가기

Software Development

Kubernetes 공부 - pod에서 pause 컨테이너는 왜 생기는지..

https://medium.com/google-cloud/understanding-kubernetes-networking-pods-7117dd28727

문서를 보던 중에 pod 안에 pause 컨테이너에 대해 글을 찾아 보았다.


## 관련 소스코드

pause 컨테이너의 Dockerfile

https://github.com/kubernetes/kubernetes/blob/master/build/pause/Dockerfile


pause 컨테이너가 실행하는 pause 프로세스 코드

https://github.com/kubernetes/kubernetes/blob/master/build/pause/pause.c


## 관련 정보

https://www.ianlewis.org/en/almighty-pause-container

Pause Container에 대한 자세한 설명


https://stackoverflow.com/questions/33472741/what-work-does-the-process-in-container-gcr-io-google-containers-pause0-8-0-d

pod는 infrastructure container라는 특수한 컨테이너 위에 사용자가 정의한 컨테이너들을 올린다는 이야기.


* Network Namespace (https://www.joinc.co.kr/w/man/12/NetworkNamespace)

리눅스 시스템에서 격리된 네트워크 환경을 구축하기 위해 사용.


* Pod Infra Container Image (https://stackoverflow.com/questions/46630377/what-is-pod-infra-container-image-meant-for)

Pod에서는 내부에서 구동 될 컨테이너들의 네임스페이스를 관리하기 위한 인프라 컨테이너를 구동시키는데, 이 인프라 컨테이너도 옵션을 이용해서 변경이 가능하다는 내용.


## 정리

쿠베에서 파드에 할당된 네트워크 인터페이스를 계속 유지해 주는 역할을 하는 것 같다.

파드 안에 컨테이너는 언제든 죽을 수 있다는 가정 하에.