일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 깃허브 액션
- Kubernetes
- 딥레이서 보상함수
- terraform
- headless service
- SAA 합격 후기
- blue-green
- 딥레이서
- Solution Architecture
- EFS CSI Driver
- 메탈LB
- 쿠버네티스
- AWS 딥레이서
- jenkins
- livenessPorbe
- LoadBalancer Controller
- 로드밸런서 컨트롤러
- 그라파나 대시보드
- 그라파나 시각화
- helm
- kubernetes 동작 원리
- Kubernets on Jenkins
- EKS 클러스터
- 쿠버네티스 컴포넌트
- Aurora cluster
- 솔데스크
- grafana on kubernetes
- Prometheus install
- github action 사용법
- Firelens
Archives
mingming
kubernetes controller - StatefulSet 본문
StatefulSet
- Pod의 상태를 유지해주는 컨트롤러
- Pod를 순차적으로 배포하여 첫 번째 Pod가 준비되고 실행될 때 까지 Pod가 실행되지 않습니다.
- 각 Pod 에 고유한 네트워크 식별자와 볼륨을 할당하여 데이터의 영속성을 보장
- 각 Pod는 고유한 이름을 가지며, 일반적으로 " 이름 - index " 형식으로 명명됩니다.
앞서 학습한 ReplicaSet을 배포해줍니다.
nginx-rs.yaml
apiVersion: apps/v1
kind: ReplicaSet
metadata:
name: nginx-rs
spec:
replicas: 3
selector:
matchLabels:
app: webui
template:
metadata:
name: nginx-pod
labels:
app: webui
spec:
containers:
- name: nginx-container
image: nginx:1.14
nginx-rs (ReplicaSet)-(random hash) 값의 형식으로 Pod의 이름이 생성됩니다. 그러나 StatefulSet을 사용하면 Pod의 이름을 보존해 줄 수 있습니다.
StatefulSet definition
nginx-sf.yaml
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: nginx-sf
spec:
replicas: 3
serviceName: nginx-sf-service
podManagementPoliy: Parallel ## Pod가 동시에 생성
## PodManagementPolicy: OrderedReady ## Pod가 순서대로 생성
selector:
matchLabels:
app: webui
template:
metadata:
name: nginx-pod
labels:
app:webui
spec:
containers:
- name: nginx-container
image: nginx:1.14
0번 부터 순서대로 동시에 생성됩니다.
StatefulSet scaleout
kubectl scale statefulset nginx-sf --replicas=2
마지막 번호부터 삭제됩니다.
RollingUpdate
nginx version 을 1.16 으로 수정합니다.
kubectl edit statefulset nginx-sf
RollBack
kubectl rollout undo statefulset nginx-sf
'kubernetes' 카테고리의 다른 글
kubernetes controller - CronJob (0) | 2023.09.05 |
---|---|
kubernetes controller - Job (0) | 2023.09.05 |
kubernetes controller - Deployment (1) | 2023.09.04 |
kubernetes controller - ReplicaSet (0) | 2023.09.03 |
kubernetes controller - Replication Controller (0) | 2023.09.03 |