일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- istio #k8s #kubernetes
- EFK
- function #사용자 정의 함수
- lvm #lv #vg #pv
- lenova #레노버 #노트북
- jgrp000032 #ocp #
- OCP
- 티스토리챌린지
- 오블완
- EKS
- Grid #CSS
- Linux #wc
- NameSpace #NS
- CI #CD #CI/CD
- Excel #엑셀
- publishnotreadyaddress
- jmap #jstack
- test #비교
- Python #pakage
- bootstrap #css #CSS
- PODS #POD #pods #pod #파드 #재기동 #롤링재기동 #rolling
- shell #shell script
- dump #jattach
- Swap Memory
- dify
- Node #POD #Container
- DB #mariaDB #SQL
- 백준 #10430
- 네트워크 #NW
- Kafka #카프카
Archives
- Today
- Total
BEOM_IT
QoS (Quality of Service) 본문
728x90
반응형
- 우선 순위 : BestEffort > Burstable > Guaranteed
- 컨테이너의 리소스 설정으로 결정됨
- Guaranteed (보장, 개런티드)
- 모든 컨테이너에 requests, limit 설정
- request, limit의 memory, cpu 모두 설정
- 각 컨테이너의 request와 limit의 memory, cpu 값이 같음
apiVersion: v1
kind: Pod
metadata:
name: qos-demo
namespace: qos-example
spec:
containers:
- name: qos-demo-ctr
image: nginx
resources:
limits:
memory: "200Mi"
cpu: "700m"
requests:
memory: "200Mi"
cpu: "700m"
위 와 같은 옵션을 가진 Pod를 생성하고 -o yaml 옵션으로 상세정보를 보면
spec:
containers:
...
resources:
limits:
cpu: 700m
memory: 200Mi
requests:
cpu: 700m
memory: 200Mi
...
status:
qosClass: Guaranteed
위 와 같이 출력 결과는 쿠버네티스가 파드에 Guaranteed QoS 클래스를 부여했음을 보여준다. 또한 파드의 컨테이너가 메모리 요청량과 일치하는 메모리 상한을 가지며, CPU 요청량과 일치하는 CPU 상한을 갖고 있음을 확인할 수 있다.
- Burstable (부스터블)
- Pod내에서 최소한 하나의 컨테이너가 request,limit을 가진다.
apiVersion: v1
kind: Pod
metadata:
name: qos-demo-2
namespace: qos-example
spec:
containers:
- name: qos-demo-2-ctr
image: nginx
resources:
limits:
memory: "200Mi"
requests:
memory: "100Mi"
위 와 같은 옵션을 가진 Pod를 생성하고 -o yaml 옵션으로 상세정보를 보면
spec:
containers:
- image: nginx
imagePullPolicy: Always
name: qos-demo-2-ctr
resources:
limits:
memory: 200Mi
requests:
memory: 100Mi
...
status:
qosClass: Burstable
위의 출력 결과는 쿠버네티스가 파드에 Burstable QoS 클래스를 부여했음을 보여준다.
- BestEffort (베스트에포트)
- 어떤 컨테이너에도 request, limit 미설정
apiVersion: v1
kind: Pod
metadata:
name: qos-demo-3
namespace: qos-example
spec:
containers:
- name: qos-demo-3-ctr
image: nginx
위 와 같은 옵션을 가진 Pod를 생성하고 -o yaml 옵션으로 상세정보를 보면
spec:
containers:
...
resources: {}
...
status:
qosClass: BestEffort
위 출력 결과는 쿠버네티스가 파드에 BestEffort QoS 클래스를 부여했음을 보여준다.
728x90
반응형
'DevOps > Kubernetes' 카테고리의 다른 글
service mesh (0) | 2023.07.18 |
---|---|
istio (0) | 2023.07.18 |
Pods 증가 / 배포시 체크사항 (0) | 2023.07.10 |
Pods 성능관리 (0) | 2023.07.10 |
Pods 생성/변경 (0) | 2023.07.10 |