

Pod은 여러 컨테이너를 감싸고 있는 콩껍질과 같다
가장 기본적인 배포 단위1개 이상의 Pod을 분산 배포/실행 가능 (Pod Replicas)
Pod을 생성할 때 노드에서 유일한 IP를 할당 (서버 분리 효과)Pod 내부 컨테이너 간에 localhost로 통신 가능, 포트 충돌 주의!클러스터 내부에서만 접근 가능단 하나의 명령어로 원하는 수만큼 Pod 생성
kubectl scale deployment app --replicas=3Pod : Container = 1:1 or 1:N 결정

apiVersion:v1Kubernetes API 버전
kind:Pod오브젝트 타입
metadata:
	name: kube-basic    # 이름
    labels:             # 오브젝트 집합을 구할 때 사용할 이름표
    	app:kube-basic
        project:simon오브젝트를 유일하게 식별하기 위한 정보 및 이름, 이름표
spec:               
	nodeSelector:   # Pod을 배포할 노드
    containers:     # Pod 안에서 실행할 컨테이너 목록
    - name: kube-basic
      image: kube-basic:1.0
      imagePullPolicy: "Always:
      ports:
      - containerPort: 80 # 통신에 사용할 포트
      env:                # 환경변수 목록
      - name: PROFILE     # 환경변수 이름
        value: simon      # 환경변수 값
      - name: LOG_DIRECTORY
        value: /logs/${PROFILE}
      volumneMounts:          # 컨테이너에서 사용할 Pod 볼륨 목록
      - name: html            # Pod 볼륨 이름
        mountPath: /var/html  # 마운트할 컨테이너 경로
    volumes:        # 컨테이너가  사용할 수 있는 볼륨 목록사용자가 원하는 오브젝트의 상태
Pod이 나도 모르는 사이에 종료가 되면?
-> 자가 치유 능력이 없음, Pod이나 노드 이상으로 종료되면 끝
-> 사용자가 선언한수 만큼 Pod을 유지 해주는 ReplicaSet 오브젝트 도입
Pod IP는 외부에서 접근할 수 없다, 그리고 생성할 때 마다 IP가 변경
-> 클러스터 외부에서 접근 가능한 고정적인 단일 엔드포인트 필요
-> Pod집합을 클러스터 외부로 노출하기 위한 Service 오브젝트 도입