반응형
1. 개념
- 파드에 저장된 데이터 또는 파드의 설정을 stateful하게 유지해야 하는 경우 Statefulset 활용
- Statefulset으로 생성한 파드는 재생성 시에도 랜덤한 문자열 이름이 아닌 관리자가 정의한 특정 규칙의 이름으로 생성
- Statefulset으로 생성한 파드의 스토리지는 PVC로만 연결 가능
- Statefulset에 접근하기 위해서는 headless service 생성 필요
2. Statefulset 생성
- headless service 생성
apiVersion: v1
kind: Service
metadata:
name: headless-svc
labels:
app: headless-svc
spec:
ports:
- name: http
port: 80
clusterIP: None
selector:
app: test-sts
- statefulset 생성
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: test-sts
spec:
selector:
matchLabels:
app: test-sts
serviceName: headless-svc
replicas: 3
template:
metadata:
labels:
app: test-sts
spec:
containers:
- name: zero
image: nginx
ports:
- containerPort: 8080
3. statefulset 확인
- 파드의 이름이 랜덤한 문자열이 아닌 statefulset 생성 시 설정한 test-sts-n 형식으로 생성
- sts의 파드가 삭제되어도 순차적으로 삭제
- headless 서비스를 통해 sts 파드 접근
반응형
'Kubernetes' 카테고리의 다른 글
Kubernetes Custom Resource 개념 및 설정 (0) | 2023.03.16 |
---|---|
Kubernetes Admission Controller(Mutating / Validating) 개념 및 설정 (0) | 2023.03.16 |
Kubernetes Job, CronJob 개념 및 설정 (0) | 2023.03.16 |
Kubernetes Probe(Readiness, Liveness, Startup) 개념 및 설정 (0) | 2023.03.16 |
Kubernetes Ingress 개념 및 설정 (0) | 2023.03.16 |