3.4.4 스테이트풀셋
지금까지는 파드가 replicas에 선언된 만큼 무작위로 생성될 뿐이었습니다. 그런데 파드가 만들어지는 이름과 순서를 예측해야 할 때가 있습니다. 주로 레디스(Redis), 주키퍼(Zookeeper), 카산드라(Cassandra), 몽고DB(MongoDB) 등의 마스터-슬레이브 구조 시스템에서 필요합니다.
스테이트풀셋(StatefulSet)을 사용합니다. 스테이트풀셋은 volumeClaimTemplates 기능을 사용해 PVC를 자동으로 생성할 수 있고, 각 파드가 순서대로 생성되기 때문에 고정된 이름, 볼륨, 설정 등을 가질 수 있습니다. 그래서 StatefulSet(이전 상태를 기억하는 세트)이라는 이름을 사용합니다. 다만, 효율성 면에서 좋은 구조가 아니므로 요구 사항에 맞게 적절히 사용하는 것이 좋습니다.
스테이트풀셋을 직접 만들어 보면서 생성 과정을 살펴보고 어떤 형태의 고정 값을 가지는지 알아보겠습니다. 참고로 스테이트풀셋은 디플로이먼트와 형제나 다름없는 구조라 디플로이먼트에서 오브젝트 종류를 변경하면 바로 실습할 수 있습니다.