帶你熟悉CCE叢集增強型CPU管理策略enhanced-static

华为云开发者联盟發表於2024-05-11

本文分享自華為雲社群《華為雲CCE叢集增強型CPU管理策略enhanced-static》,作者: 可以交個朋友。

背景

開源Kubernetes預設提供的CPU管理策略有none和static兩種:

  • none: 不開啟CPU管理策略,預設值。
  • static:開啟靜態綁核的CPU管理策略,允許為節點上具有某些資源特徵的 Pod(Guaranteed pod)賦予CPU親和性和獨佔性。

華為雲cce叢集提供增強型CPU管理策略(enhanced-static),相容靜態綁核CPU管理策略的基礎上,新增一種符合某些資源特徵的Burstable Pod(要求CPU的requests和limits引數值都是正整數)優先使用某些CPU的能力,以減少應用在多個CPU間頻繁切換帶來的影響。該特性是基於Huawei Cloud EulerOS 2.0核心中最佳化了CPU排程能力實現的。在Pod容器優先使用的CPU利用率超過85%時,會自動分配到其他利用率較低的CPU上,進而保障了應用的響應能力。
image.png

約束與限制

使用該特性,需同時滿足以下條件:

  • 叢集版本為v1.23及以上。
  • 節點作業系統為Huawei Cloud EulerOS 2.0。
  • 彈性雲伺服器。物理機節點不支援使用CPU管理策略。

操作演示

未開啟增強型CPU管理策略

建立節點池,規格選擇8C/16G。

建立工作負載

kind: Deployment 
apiVersion: apps/v1 
metadata: 
  name: enhanced-static 
spec: 
  replicas: 1 
  selector: 
    matchLabels: 
      app: enhanced-static 
  template: 
    metadata: 
      labels: 
        app: enhanced-static 
    spec: 
      containers: 
        - name: container-1 
          image: swr.cn-north-4.myhuaweicloud.com/testapp/centos-stress:v1 
          command: 
            - /bin/bash 
          args: 
            - '-c' 
            - while true; do echo hello; sleep 10; done 
          resources: 
            limits: 
              cpu: '4' 
              memory: 2Gi 
            requests: 
              cpu: '3' 
              memory: 2Gi

image.png

進入容器內使用命令壓測cpu資源,並在grafana頁面觀察192.168.0.114節點每個核心的使用率

stress-ng -c 4 -t 3600

image.png

開啟增強型CPU管理策略

點選節點池的配置管理-kubelet元件配置-CPU管理策略配置-選擇enhanced-static

image.png

步驟 5 登入到節點上檢視優先核繫結詳情,檢視路徑:/var/lib/kubelet/cpu_manager_state;修改配置後該檔案會自動刪除重建

0-7:表示節點上所有核心

10001-10003:表示優先核編號,優先核為cpu1、cpu2、cpu3

image.png

進入容器內使用命令壓測cpu資源,並在grafana頁面觀察192.168.0.114節點每個核心的使用率

stress-ng -c 4 -t 3600
image.png

點選關注,第一時間瞭解華為雲新鮮技術~

相關文章