[쿠버네티스] #1. Pod란? 파드란? :: 잡다한 프로그래밍
반응형

1. Pod란?

  • 파드는 쿠버네티스 애플리케이션의 기본 실행 단위이다. 쿠버네티스 객체 모델 중 만들고 배포할 수 있는 가장 작고 간단한 단위이다 (공식 홈페이지)
  • 쉽게 이야기하여 docker image를 실행시킨 컨테이너를 감싸고있는 단위라고 생각할 수 있음
  • 한 파드 내에 여러개의 컨테이너가 존재할 수 있음.
  • 여러개의 컨테이너는 localhost로 통신하나 컨테이너끼리 같은 port를 사용할 수 없음
  • 파드의 휘발성이기 때문에 삭제되고 재 생성될 때마다 IP가 바뀜

Pod 생성 yaml

apiVersion: v1
kind: Pod
metadata:
  name: pod-1
spec:
  containers:
  - name: container1
    image: image1 //이미지 이름
    ports:
    - containerPort: 2000
  - name: container2
    image: image2 //이미지 이름
    ports:
    - containerPort: 9000

 

  • 파드에는 label을 달 수 있음 (key, value 방식)
  • 서비스는 라벨별로 파드를 구분할 수 있음

다음과 같이 type이 서버인 파드와 web인 파드가 존재한다고 할 때, 서비스는 라벨을통해 서비스내부에 파드를 선택할 수 있다. 서비스에는 pod-2만 존재하는것을 확인할 수 있다.

apiVersion: v1
kind: Pod
metadata:
  name: pod-1
  labels:
  type: server
spec:
  containers:
  - name: container
    image: image
    
    
apiVersion: v1
kind: Pod
metadata:
  name: pod-2
  labels:
  type: web
spec:
  containers:
  - name: container
    image: image
apiVersion: v1
kind: Service
metadata:
  name: svc-1
spec:
  selector:
    type: web
  ports:
    - port: 8080
반응형

+ Recent posts