✅ StatefulSet이란?
: ReplicaSet의 특수한 형태로, 데이터베이스 등과 같은 stateful한 워크로드에 사용하기 위한 리소스
ReplicaSet과의 차이점
- 생성되는 파드명에 숫자 인덱스가 부여됨
- 파드명이 변경되지 않음
- 데이터를 영구적으로 저장하기 위한 구조
- spec.volumeClaimTemplates를 지정하여 각 파드에 영구 볼륨 클레임(영구 볼륨 요청)을 설정할 수 있다. 이를 통해 파드를 재시동하거나 다른 노드로 이동할 때에도 동일한 데이터를 유지할 수 있다.
- 영구 볼륨은 하나의 파드가 소유하거나 종류에 따라 여러 파드에서 공유할 수도 있다.
예시 파일 생성
- nano sample-statefulset.yaml
# sample-statefulset.yaml
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: sample-statefulset
spec:
serviceName: sample-statefulset
replicas: 3
selector:
matchLabels:
app: sample-app
template:
metadata:
labels:
app: sample-app
spec:
containers:
- name: nginx-container
image: nginx
volumeMounts:
- name: www
mountPath: /usr/share/nginx/html
volumeClaimTemplates:
- metadata:
name: www
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1G
- 리소스 생성
kubectl apply -f sample-statefulsets.yaml
- 확인
kubectl get statefulsets
'Cloud > Kubernetes' 카테고리의 다른 글
| Helm (1) | 2025.08.12 |
|---|---|
| External IP 서비스 (0) | 2025.07.07 |
| Service API - 쿠버네티스 클러스터 네트워크와 서비스 (0) | 2025.07.04 |
| Workload API - CronJob (0) | 2025.07.04 |
| Workload API - Deployment (0) | 2025.07.03 |