CCE通过volcano插件实现堆叠调度

举报
可以交个朋友 发表于 2023/12/28 15:29:09 2023/12/28
【摘要】 使用volcano调度器提高节点资源利用率

kube-scheduler调度器的不足

kube-scheduler在为Pod绑定节点时,节点资源剩余越多打分越高,但是这样会导致各个节点资源碎片化比较严重

实现效果

binpack插件为volcano调度器的多个调度插件之一,与其他插件共同为节点打分;binpack调度插件的目标是尽量把已有的节点填满(即尽量不往空白节点分配)。具体实现上,Binpack调度算法为满足调度条件的节点打分,节点的资源利用率越高得分越高
image.png

实现步骤

  1. 进入CCE控制台-集群管理-插件管理-volcano-安装
    image.png

  2. 在参数配置中添加如下配置

    { 
        "arguments": { 
            "binpack.cpu": 5, 
            "binpack.memory": 1, 
            "binpack.resources.nvidia.com/gpu": 2, 
            "binpack.weight": 10 
         }, 
         "name": "binpack" 
    }
    

    binpack.weight:binpack插件在volcano所有插件中所占权重
    binpack.memory:内存在binpack调度算法中所占权重
    binpack.cpu:CPU在binpack调度算法中所占权重
    binpack.resources.nvidia.com/gpu:GPU在binpack调度算法中所占权重
    image.png

  3. 创建工作负载test,调度器设置为volcano

    kind: Deployment 
    apiVersion: apps/v1 
    metadata: 
      name: test 
      namespace: default 
    spec: 
      replicas: 1 
      selector: 
        matchLabels: 
          app: test 
      template: 
        metadata: 
          labels: 
            app: test 
        spec: 
          containers: 
          - name: container-1 
            image: nginx:stable-alpine-perl 
            resources: 
              limits: 
                cpu: 300m 
                memory: 300Mi 
              requests: 
                cpu: 300m 
                memory: 300Mi 
            terminationMessagePath: /dev/termination-log 
            terminationMessagePolicy: File 
            imagePullPolicy: IfNotPresent 
        restartPolicy: Always 
        terminationGracePeriodSeconds: 30 
        dnsPolicy: ClusterFirst 
        imagePullSecrets: 
        - name: default-secret 
        schedulerName: volcano 
        strategy: 
          type: RollingUpdate 
          rollingUpdate: 
            maxUnavailable: 25% 
            maxSurge: 25% 
        revisionHistoryLimit: 10 
        progressDeadlineSeconds: 600
    

    image.png

  4. 查看对应节点信息
    image.png

  5. 验证结果。扩容工作负载副本数为4,所有pod优先调度至同一节点
    image.png
    节点信息
    image.png

  6. 再次扩容副本数至5,此时192.168.200.97无法满足调度
    image.png

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。