Infra/Kubernetes
Kubernetes Objects 정리
쵸키
2023. 2. 15. 20:07
Pod란?
- Pod(파드)는 쿠버네티스에서 생성하고 관리할 수 있는 배포 가능한 가장 작은 컴퓨팅 단위
- 쿠버네티스는 Pod 단위로 스케줄링, 로드밸런싱, 스케일링 등의 관리 작업을 수행
- Pod는 Container 를 감싼 개념
- 하나의 Pod 은 한 개의 Container 혹은 여러 개의 Container 로 이루어져있을 수 있음
- Pod 내부의 여러 Container 는 자원을 공유
- Pod는 Stateless 한 특징을 지니고 있으며, 언제든지 삭제될 수 있는 자원
Deployment 란?
- Deployment(디플로이먼트)는 Pod와 Replicaset에 대한 관리를 제공하는 단위
- 관리라는 의미는 Self-healing, Scaling, Rollout(무중단 업데이트) 과 같은 기능을 포함
- Deployment 는 Pod를 감싼 개념
- Pod 을 Deployment 로 배포함으로써 여러 개로 복제된 Pod, 여러 버전의 Pod 을 안전하게 관리할 수 있음
Service 란?
- Service 는 쿠버네티스에 배포한 애플리케이션(Pod)을 외부에서 접근하기 쉽게 추상화한 리소스
- Pod 는 IP 를 할당받고 생성되지만, 언제든지 죽었다가 다시 살아날 수 있으며, 그 과정에서 IP 는 항상 재할당받기에 고정된 IP 로 원하는 Pod 에 접근할 수는 없음
- 따라서 클러스터 외부 혹은 내부에서 Pod 에 접근할 때는, Pod 의 IP 가 아닌 Service 를 통해서 접근하는 방식
- Service 는 고정된 IP 를 가지며, Service 는 하나 혹은 여러 개의 Pod 와 매칭
- 따라서 클라이언트가 Service 의 주소로 접근하면, 실제로는 Service 에 매칭된 Pod 에 접속
PVC 란?
- Persistent Volume (PV), Persistent Volume Claim (PVC) 는 stateless 한 Pod 이 영구적으로(persistent) 데이터를 보존하고 싶은 경우 사용하는 리소스
- 도커 볼륨과 유사한 역할
- PV 는 관리자가 생성한 실제 저장 공간의 정보를 담고 있고, PVC 는 사용자가 요청한 저장 공간의 스펙에 대한 정보를 담고 있는 리소스
- Pod 내부에서 작성한 데이터는 기본적으로 언제든지 사라질 수 있기에, 보존하고 싶은 데이터가 있다면 Pod 에 PVC 를 mount 해서 사용해야 함
- PVC 를 사용하면 여러 pod 간의 data 공유도 쉽게 가능
'Infra/Kubernetes' Related Articles