5-2. PV(Persistent Volume)와 StatefulSet
Stateful vs Stateless
- 여태까지 우리가 다루었던 앱은 모두 Stateless 앱이다.
- Stateless는 말그대로 상태가 없는, 상태가 중요하지 않은 앱을 의미한다.
- 쿠버네티스에서는 Stateless를 기본으로 생각하고, 상태를 가져야하는 경우를 특수하게 생각한다.
PV와 PVC 개념
- 상태를 가져야하는 앱을 만들어야 한다면 상태를 저장할 스토리지가 필요하다.
- 상태를 저장하기 위해 준비된 물리적인 스토리지 공간을 PV(Persistent Volume)라는 오브젝트로 다룬다.
- Pod에서 가져다 쓸 수 있도록 논리적인 단위로 스토리지를 정의한 것이 PVC(Persistent Volume Claim)이다.
- PV가 있는 상태에서, PVB를 만들면 적합한 PV가 PVC와 연결되어 사용할 수 있는 형태가 된다.
- 클라우드 서비스에서는 PVC를 만들어도 PV를 알아서 만들게 할 수 있는데, 이를 동적 프로비저닝이라고 한다.

StatefulSet이란 무엇인가?
- statefulSet이라는 오브젝트를 통해 PVC와 연결된, 즉 상태가 중요한 Pod를 만들 수 있다.
- 기존에 상태가 중요하지 않은 Pod는 Node의 스토리지 중 일부를 임시로 빌려와 사용했지만, 상태가 중요한 Pod 즉, StatefulSet으로 만들어진 Pod는 PVC와 연결하여 사용하게 된다.
