带你熟悉CCE集群增强型CPU管理策略enhanced-static
  YqbaJkf98QJO 29天前 33 0

本文分享自华为云社区《华为云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

 

点击关注,第一时间了解华为云新鲜技术~

 

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 29天前 0

暂无评论

推荐阅读
  2xk0JyO908yA   2024年04月11日   39   0   0 Kubernetes
  az2L92p17wYQ   2024年04月29日   41   0   0 Kubernetes
YqbaJkf98QJO