728x90
반응형
SMALL
스테이트풀셋
스테이트풀셋은 어플리케이션의 스테이트풀을 관리하는데 사용하는 워크로드 API 오브젝트이다. 파드 집합의 디플로이먼트와 스케일링을 관리하며, 파드들의 순서 및 고유성을 보장한다 . 디플로이먼트와 유사하게, 스테이트풀셋은 동일한 컨테이너 스펙을 기반으로 둔 파드들을 관리한다. 디플로이먼트와는 다르게, 스테이트풀셋은 각 파드의 독자성을 유지한다. 파드가 동일한 스펙으로 생성되었어도, 서로 교체는 불가능하다. 다시 말해, 각각은 재스케줄링 간에도 지속적으로 유지되는 식별자를 가진다.
헤드리스 서비스 생성
vim statefulset-service.yml
apiVersion: v1
kind: Service
metadata:
name: sfs-service01
spec:
selector:
app: web-sfs01
type: ClusterIP
clusterIP: None # 헤드리스 서비스 (headless service) : 클러스터 IP가 없는 서비스
ports:
- protocol: TCP
port: 80
헤드리스 서비스 실행
kubectl apply -f statefulset-service.yml
kubectl get svc
스테이트풀셋 생성
vim statefulset-web01.yml
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: sfs-test01
spec:
replicas: 3
selector:
matchLabels:
app: web-sfs01
serviceName: sfs-service01
template:
metadata:
labels:
app: web-sfs01
spec:
containers:
- name: nginx
image: nginx:latest
cp statefulset-web01.yml statefulset-web02.yml
vim statefulset-web02.yml
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: sfs-test01
spec:
replicas: 2
selector:
matchLabels:
app: web-sfs01
serviceName: sfs-service01
template:
metadata:
labels:
app: web-sfs01
spec:
containers:
- name: nginx
image: nginx:latest
스테이트풀셋 실행
kubectl apply -f statefulset-web01.yml
kubectl get all
kubectl apply -f statefulset-web02.yml
kubectl get all
파드가 2개로 줄어든 것을 확인할 수 있다.
kubectl delete -f statefulset-web02.yml
kubectl delete -f statefulset-service.yml
728x90
반응형
LIST
'App Programming > Kubernetes' 카테고리의 다른 글
[K8s] metalLB (0) | 2024.06.09 |
---|---|
[K8s] 헬름 (Helm) (0) | 2024.06.09 |
[K8s] 스토리지 볼륨 (Storage Volume) (0) | 2024.06.09 |
[K8s] 롤아웃 (0) | 2024.06.08 |
[K8s] 매니페스트로 디플로이먼트 실행 (0) | 2024.06.08 |