StatefulSet이란
Pod의 상태를 유지해주는 컨트롤러이다.
- Pod의 이름
- Pod의 볼륨(스토리지)
어떤 번호가 생길지 보존해주는게 스테이트풀셋으로
1번에 문제가 생기면 1번이 완전 종료되고 다시 1번이 생긴다.
노드당 파드가 1개 생기는 데몬셋과는 달리 노드에 파드가 2개 이상 생길 수 있다.

statefulset-exam.yaml파일의 내용은 아래와 같다.

OrderedReady는 순차적으로 파드번호가 생성되는 값이고 디폴트값이다.
Parallel이라는 값은 동시에 파드를 실행시킨다.
일단 statefulset을 실행시킨다.

그럼 동시에 0,1,2번 파드가 실행된다.
kubectl delete pod sf-nginx-1를 입력하면 파드가 완전히 삭제될 때 까지 기다렸다가 다시 sf-nginx-1이라는 이름의 파드를 생성한다. 이는 statefulset이 파드의 이름을 보장하기 때문이다.
kubectl scale statefulset sf-nginx --replicas=4을 통해 scaleout해보면 sf-nginx-3 이라는 이름의 pod가 생성된다.

kubectl scale statefulset sf-nginx --replicas=2을 통해 scalein하면 sf-nginx3, sf-nginx2가 삭제된다.

kubectl edit statefulsets.apps sf-nginx를 통해 이미지 버전을 1.15로 수정하면 롤링업데이트가 된다.

kubectl rollout undo statefulset sf-nginx를 통해 이전버전인 1.14로 롤백할 수 있다.
kubectl delete statefulsets.apps sf-nginx로 운영 중인 statefulset을 삭제할 수 있다.
'따배쿠' 카테고리의 다른 글
| [따배쿠] 6-7. 쿠버네티스 CronJob (0) | 2022.11.05 |
|---|---|
| [따배쿠] 6-6. 쿠버네티스 Job Controller (1) | 2022.11.05 |
| [따배쿠] 6-4. 쿠버네티스 DaemonSet! + RollingUpdate (0) | 2022.11.05 |
| [따배쿠] 6-3. 쿠버네티스 RollingUpdate를 위한 Deployment (0) | 2022.11.05 |
| [따배쿠] 6-2. ReplicaSet(ReplicationController와의 차이점은?) 쿠버네티스 pod 개수 보장 (0) | 2022.11.05 |