반응형
목차
스케일링이란?
Deployment로 부하 스케일링
6장 리뷰
스케일링이란?
Replicaset과 Deployment를 활용하여 Pod의 수를 조절하는 방식
Replicaset 생성 예시
kubectl apply -f https://raw.githubusercontent.com/gilbutITbook/kiamol/main/ch06/whoami/whoami.yaml
whoami.yaml
apiVersion: apps/v1
kind: ReplicaSet
metadata:
name: whoami-web
labels:
kiamol: ch06
spec:
replicas: 1 # 생성할 Pod의 수
selector:
matchLabels:
app: whoami-web
template:
metadata:
labels:
app: whoami-web
spec:
containers:
- image: kiamol/ch02-whoami
name: web
ports:
- containerPort: 80
name: http
replicaset을 생성하고 deploy를 조회하였지만 deploy는 조회되지 않음
Deployment로 부하 스케일링
loadbalancer와 deployment 생성
kubectl apply -f https://raw.githubusercontent.com/gilbutITbook/kiamol/main/ch06/pi/web/web-service.yaml -f https://raw.githubusercontent.com/gilbutITbook/kiamol/main/ch06/pi/web/web.yaml
web.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: pi-web
labels:
kiamol: ch06
spec:
replicas: 2
selector:
matchLabels:
app: pi-web
template:
metadata:
labels:
app: pi-web
spec:
containers:
- image: kiamol/ch05-pi
command: ["dotnet", "Pi.Web.dll", "-m", "web"]
name: web
ports:
- containerPort: 80
name: http
deployment와 replicaset의 관계도
결과
Replicas 변경
kubectl apply -f https://raw.githubusercontent.com/gilbutITbook/kiamol/main/ch06/pi/web/update/web-replicas-3.yaml
web-replicas-3.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: pi-web
labels:
kiamol: ch06
spec:
replicas: 3
selector:
matchLabels:
app: pi-web
template:
metadata:
labels:
app: pi-web
spec:
containers:
- image: kiamol/ch05-pi
command: ["dotnet", "Pi.Web.dll", "-m", "web"]
name: web
ports:
- containerPort: 80
name: http
Pod 정의 변경
kubectl apply -f https://raw.githubusercontent.com/gilbutITbook/kiamol/main/ch06/pi/web/update/web-logging-level.yaml
web-logging-level.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: pi-web
labels:
kiamol: ch06
spec:
replicas: 3
selector:
matchLabels:
app: pi-web
template:
metadata:
labels:
app: pi-web
spec:
containers:
- image: kiamol/ch05-pi
command: ["dotnet", "Pi.Web.dll", "-m", "web"]
name: web
ports:
- containerPort: 80
name: http
env: # pod의 환경변수 변경
- name: Logging__LogLevel__Default
value: Debug
Pod의 정의가 바뀌었기에 새 Pod를 생성하기 위한 새 replicaset이 생성된 것을 확인
scale 명령 사용하기
kubectl scale --replicas=4 deploy/pi-web
pi-web의 replicas를 4로 변경하는 명령어
6장 리뷰
스케일링을 통하여 부하를 분산시키기도 하고 상황에 따라 Replicaset을 줄여 공간을 확보하는 등 활용도가 높고 유용한 방법을 배울 수 있었습니다.
단순히 replicaset을 조정하는 작업 외에도 웹 페이지를 통하여 같은 서비스의 경우에도 다른 pod에 접속하는 것을 직접 체험하는 실습도 적절하게 제공되어 재밌게 배울 수 있었습니다.
'데몬 셋'과 '객체 간 오너쉽'은 단기간에 이해하기 어려워 다시 공부를 해야 하겠지만 가볍게 훑어보고 프로젝트에서 직접 사용하며 익혀가는 순서로 활용하기 적절한 책이라고 생각되었습니다.
반응형
'DevOps > Kubernetes' 카테고리의 다른 글
[Kubernetes] Volume과 Claim (길벗 리뷰어) (0) | 2023.11.26 |
---|---|
[Kubernetes] Config Map과 Secret (길벗 리뷰어) (0) | 2023.11.24 |
[Kubernetes] Service (길벗 리뷰어) (2) | 2023.11.22 |
[Kubernetes] Pod와 Deployment (길벗 리뷰어) (2) | 2023.11.20 |
[Kubernetes] CNI 설치 및 pod 생성 (Weave) (0) | 2023.09.25 |