1. Definition
- 쿠버네티스 오브젝트 중 가장 작고 기본적인 단위
- 클러스터에서 실행 중인 프로세스의 단일 인스턴스를 나타냄
- 파드에는 동일한 네트워크 네임스페이스, 스토리지 및 기타 리소스를 공유하는 하나 이상의 컨테이너가 포함될 수 있음
2. Containerization
- 파드는 주로 컨테이너형 애플리케이션을 캡슐화하고 관리하는 데 사용됨
- 파드 내의 각 컨테이너는 일반적으로 서로 다른 프로세스를 실행하지만 라이프사이클이 동일하며 리소스를 공유함
3. Atomicity
- 파드는 쿠버네티스에 의해 원자 단위로 취급되며 단일 엔티티로 스케줄링, 배포 및 확장됨
- 여러 컨테이너가 함께 작동하고 리소스를 공유해야 하는 경우 동일한 포드 내에 배치해야 함
4. IP Address
- 각 파드는 클러스터 내 고유한 IP 주소가 할당됨
- 파드 내의 컨테이너는 동일한 IP 주소를 공유하며 localhost를 사용하여 서로 통신할 수 있음
- IP 주소를 사용하여 다른 파드와 직접 통신할 수 있음
5. Lifecycle
- 파드는 쿠버네티스 컨트롤 플레인에서 라이프사이클을 관리함
- 파드의 단계(phase)는 다음과 같음: Pending, Running, Succeeded, Failed, Unknown
- 쿠버네티스는 정의된 설정을 기반으로 파드의 의도한 상태(desired state)를 보장함
6. Resource Management
- 파드는 컨테이너에 필요한 CPU 및 메모리와 같은 리소스 요청 및 제한을 지정할 수 있음
- 이러한 작업은 쿠버네티스 스케줄러가 특정 노드가 파드에 필요한 리소스가 있는지 확인하는 데 도움 됨
7. Affinity and Anti-affinity
- 파드 affinity와 anti-affinity는 파드 스케줄링에 영향을 미치는 메커니즘
- affinity를 사용하면 특정한 노드 집합에서 동작하는 것을 선호하도록 파드를 제한할 수 있음
- anti-affinity를 사용하면 파드가 동일한 노드에 예약되지 않도록 할 수 있음
8. Volumes
- 파드는 볼륨을 정의할 수 있으며, 이 볼륨은 포드 내의 컨테이너가 공유하는 데이터를 저장하는 데 사용됨
- 볼륨은 emptyDir(임시), hostPath(로컬), NFS(원격) 및 클라우드 스토리지에서 백업할 수 있음
9. Health and Monitoring
- 쿠버네티스는 파드 내의 각 컨테이너에 대해 아래와 같은 프로브를 제공하며 체크 메커니즘으로는 exec, grpc, httpGet, tcpSocket이 있음
- liveness 프로브: 컨테이너가 동작 중인지
- readiness 프로브: 컨테이너가 트래픽을 수신할 준비가 되었는지
- startup 프로브: 컨테이너 내의 애플리케이션이 시작되었는지
'쿠버네티스' 카테고리의 다른 글
[쿠버네티스] 링커디 그라파나 연동 에러 (0) | 2023.07.06 |
---|---|
[쿠버네티스] 서비스 어카운트 생성 및 파드 내부에서 사용 (0) | 2023.06.26 |
[쿠버네티스] 클러스터 구축 중 마추진 오류들 (0) | 2023.06.09 |
[쿠버네티스] cgroup과 cgroup driver이란 (0) | 2023.06.08 |
[쿠버네티스] 컴포넌트 정리 (0) | 2023.05.23 |