DevOps/Kubernetes

QoS (Quality of Service)

beomzh 2023. 7. 11. 15:19
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