본문 바로가기
따배쿠

[따배쿠] 6-5. 쿠버네티스 StatefulSet

by Engineer-Lee 2022. 11. 5.
반응형

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을 삭제할 수 있다.

 

반응형