kubernetes statefulset
관리하고 구성,유지,스케일링측면에선 디플로이먼트와 유사한 특징을 갖고있지만
차이점은 각 파드의 순서,고유성을 보장하며 영구스토리지 볼륨에 할당함
-파드의 이름 (pod-1,pod-2 ....)
-파드의 볼륨
즉 문제가 생긴 파드와 똑같은 이름,IP를 가진 파드로 유지생성된다
파드내의 프로그램,기타다른정보들을 저장하고자 하는경우 사용한다.
●kubernetes statefulset 생성,관리
레플리카셋,레플리케이션,디플로이등등 서비스는 기본적으로 레이블셀렉터를 기준으로 생성관리해주지만
스테이트풀셋의경우 파드를 고유하게 식별해야 관리할 수 있다. 그러기위해선
헤드리스 시버스를 지정해야한다 ( serviceName: )
예제
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: test-nginx
spec:
selector:
matchLabels:
app: webui
serviceName: test-nginx # 헤드리스 서비스 지정
podManagementPolicy: OrderedReady #OrderedReady 기본값 ( 순차적으로 생성 0,1,2 )
replicas: 3
template:
metadata:
name: nginx-pod
labels:
app: webui
spec:
containers:
- name: nginx-container
image: nginx:1.14
스테이트풀셋의 특징 중 하나로 파드의 이름이 순서대로 생성된다 test-nginx-0 / test-nginx-1 / test-nginx-2
scale UP , Down
파드의 이름이 보장되어 scale UP,Down 시 어떤 파드가 줄어들고 늘어날지 확인됨.
'IT Study > Kubernetes' 카테고리의 다른 글
kubernetes daemonset controller (0) | 2023.01.19 |
---|---|
kubernetes deploymemt rollingupdate (0) | 2023.01.19 |
kubernetes replicaset controller (0) | 2023.01.18 |
kubernetes ReplicationController (0) | 2023.01.17 |
kubernetes controller (0) | 2023.01.17 |