CCE通过volcano插件实现堆叠调度
【摘要】 使用volcano调度器提高节点资源利用率
kube-scheduler调度器的不足
kube-scheduler在为Pod绑定节点时,节点资源剩余越多打分越高,但是这样会导致各个节点资源碎片化比较严重
实现效果
binpack插件为volcano调度器的多个调度插件之一,与其他插件共同为节点打分;binpack调度插件的目标是尽量把已有的节点填满(即尽量不往空白节点分配)。具体实现上,Binpack调度算法为满足调度条件的节点打分,节点的资源利用率越高得分越高
实现步骤
-
进入CCE控制台-集群管理-插件管理-volcano-安装
-
在参数配置中添加如下配置
{ "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调度算法中所占权重
-
创建工作负载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
-
查看对应节点信息
-
验证结果。扩容工作负载副本数为4,所有pod优先调度至同一节点
节点信息
-
再次扩容副本数至5,此时192.168.200.97无法满足调度
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)