본문 바로가기

IT Study/Kubernetes

kubernetes statefulset

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