[k8s] Statefulset 과 Headless
Statusfulset
- DeployMent와 유사하지만 serviceName 이 꼭 들어가야 한다
- 배포 순서가 보장되며 삭제시 마지막 생성된 pod 부터 삭제된다
- pod 이름에 해쉬값이 아닌 Sequence 값이 붙는다
- K8S 세계에서 유일하게 상태를 가지는 특징이 있다
Headless
- Service spec 내에 clustIp: None 으로 지정하면 Headless
- 클러스터 내에서 IP가 지정되지 않고 도메인으로만 호출이 된다
Statefulset 과 Headless
- Headless 서비스에서 metadata name 값과 Statefulset serviceName 이 1:1 매핑이 되어야만 도메인을 통한 접근이 가능해진다
Statefulset 과 LoadBalancer
- 물론 로드밸런서 타입의 서비스와 사용하는것도 가능하지만 각각 분리된 호스트 이름으로 접근이 불가능하다