iT邦幫忙

2024 iThome 鐵人賽

DAY 27
0
Kubernetes

Kubernetes 中關於網路的二三事系列 第 27

Day27 淺談Kubernetes - Quality of Service

  • 分享至 

  • xImage
  •  

Kubernetes QoS是用來管理和優化容器資源使用的一種機制。根據Pod的資源請求和限制來決定其優先級,在資源緊張的情況下確定關鍵應用的可用性。Kubernetes將Pod分為三個等級:

  • Guaranteed:
    當Pod中的容器都設置了相同的requests和limits時,Pod會被標記為Guaranteed,Kubernetes會保證Pod獲得所需要的資源,並且在資源緊張時優先保護這些Pod。

  • Burstable:
    當Pod中的某些容器設置了requests和limits但不完全相同時,Pod被標記為Burstable。此Pod可以在資源充足時使用更多的資源,但是在資源緊張時會受到限制。

  • BestEffort:
    當Pod的容器都沒有設置requests和limits時,Pod會被標記為BestEffort。此Pod在資源緊張時會最容易被驅逐,只使用未使用的資源。

如何定義QoS

QoS是根據Pod配置中的CPU和Memory資源的request和limit來決定的。

  • Guaranteed
    Pod中所有的容器都設置相同的CPU和Memory的request和limit,該Pod被標記為 Guaranteed。
resources:  
  requests:  
    memory: "512Mi"  
    cpu: "500m"  
  limits:  
    memory: "512Mi"  
    cpu: "500m"
  • Burstable
    Pod中某些容器設置了CPU和Memory的request和limit且不完全相同,該Pod被標記為 Burstable。
resources:  
  requests:  
    memory: "256Mi"  
    cpu: "200m"  
  limits:  
    memory: "512Mi"  
    cpu: "1"
  • BestEffort
    Pod中所有的容器都沒有設置CPU和Memory的request和limit,該Pod被標記為 BestEffort。
resources: {}

總結

在Kubernetes中,Quality of Service (QoS)透過對Pod的資源request和limit進行分類,為資源管理提供有效的框架,有助於確保關鍵應用在資源緊張時的穩定性,還能提高整體的性能和效率。合理的配置QoS,維運可以更好的控制資源使用,從而實現高效的資源分配和管理,提升Kubernetes環境的可靠性和可用性。


上一篇
Day26 淺談Kubernetes ELK Stack
下一篇
Day28 淺談Kubernetes Namespace
系列文
Kubernetes 中關於網路的二三事30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言