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 |