Pod Overview
파드 는 쿠버네티스 애플리케이션의 기본 실행 단위이다. 쿠버네티스 객체 모델 중 만들고 배포할 수 있는 가장 작고 간단한 단위
주로 두 가지 방법으로 사용
- 단일 컨테이너만 동작하는 파드
- 함께 동작하는 작업이 필요한 다중 컨테이너가 동작하는 파드
어떻게 파드가 다중 컨테이너를 관리하는가?
- 파드 내 컨테이너는 동일한 머신의 클러스터에 배치되고 스케쥴 됨
- 리소스와 의존성 공유
파드는 같은 파드에 속한 컨테이너에게 두 가지 공유 리소스를 제공
네트워킹
- 각 파드는 고유한 IP 주소를 할당
- 한 파드 내의 모든 컨테이너는 network namespace와 IP address, network port를 공유
- 다른 컨테이너와는
localhost
를 사용하여 통신
저장소
Volumnes
을 명시 가능- 파드 내부의 컨테이너는 공유 볼륨에 접근 가능
- 컨테이너끼리 데이터 공유 가능
파드 작업
Kubernetes에서는 직접 개별 pod를 만들 일이 거의 없음.
Kubernetes는 컨트롤러
라는 추상적인 개념을 사용하여 상대적으로 일시적인 pod instance를 관리
파드와 컨트롤러
파드 템플릿
컨트롤러는 pod template으로 pod를 생성하고 관리한다.
pod template은 pod를 생성하기 위한 명세.
아래 샘플은 컨테이너를 시작하는 template
을 포함한 job manifest
apiVersion: batch/v1
kind: Job
metadata:
name: hello
template:
# 이것이 파드 템플릿이다.
spec:
containers:
- name: hello
image: busybox
command: ['sh', '-c', 'echo "Hello, Kubernetes!" && sleep 3600']
restartPolicy: OnFailure
# 여기가 파드 템플릿의 끝이다.
pod template을 수정하거나 새 pod template으로 전환해도 이미 존재하는 파드에는 영향을 미치지 않음
'backend > kubernetes docs' 카테고리의 다른 글
[kubernetes docs] Pod lifecycle & init container (0) | 2020.06.04 |
---|---|
[kubernetes docs] pod (0) | 2020.06.03 |
kubernetes docs - Container (0) | 2020.05.22 |
kubernetes docs: 클러스터 아키텍쳐 - 컨트롤러 (controller) (0) | 2020.05.18 |
Kubernetes docs: Cluster Architecture - Node (0) | 2020.05.17 |