출처
Pod(포드)란?
•
컨테이너의 공동 배포된 그룹
•
쿠버네티스의 기본 빌딩 블록을 대표
•
POD은 함께 배치되는 컨테이너의 그룹
•
Kubernetes에 사용되는 기본적인 block이다.
•
쿠버네티스는 컨테이너를 개별적으로 배포하지 않는 대신에 컨테이너의 포드를 항상 배포하고 운영
•
일반적으로 포드는 단일 컨테이너만 포함하지만 다수의 컨테이너를 포함 할 수 있음
•
(중요)포드는 다수의 노드에 생성되지 않고 단일 노드에서만 실행
•
(중요)여러 프로세스를 실행하려면 컨테이너 당 단일 프로세스가 옳다
•
당연히 다수의 프로세스를 제어하려면, 다수의 컨테이너를 다룰 수 있는 그룹이 필요
포드장점
•
포드는 밀접하게 연관된 프로세스를 함께 실행하고 하나 환경으로 운영된 것 처럼 보인다.
중요
•
포드의 모든 컨테이너는 동일한 네트워크에서 실행
•
그 컨테이너들은 UTS 네임스페이스에서 실행
•
같은 호스트 이름 및 네트워크 인터페이스를 공유
•
그래서, 포트 충돌 가능성 있음
•
포드의 모든 컨테이너는 동일한 IPC 네임스페이스 아래에서 실행
•
IPC 를 통해 통신 가능
•
위그림 처럼 다른노드에 걸쳐서 하는건 안됨
•
pod3에 있는 컨테이너1번은 Node1에 있고 컨테이너 2번은 Node 2에 있는데 이렇게 하는건 안됨
쿠버네티스의 API 문서
쿠버네티스 pod 관련 문서
pod 예시(pods/simple-pod.yaml)
apiVersion: v1
kind: Pod
metadata:
name: nginx
spec:
containers:
- name: nginx
image: nginx:1.14.2
ports:
- containerPort: 80
YAML
복사