k8s超售

oversold

k8s资源超售,通过调整节点资源的超卖比,在可用资源上乘上一个系数来呈现一个超卖之后的节点。目前 Kubernetes 是没有这样的接口,通过 Kubernetes 的扩展机制,Hook 了 Kubelet 向上汇报的过程,实现了该功能

一、简介

基于goadmission一个 Kubernetes 动态准入控制的脚手架,进行开发完成

二 、背景

公司当前给业务容器进行资源分配都是采 用预分配加上 Cgroup 限制的手段,但是在实际进行服务利用率统计的时候,发现大多数业务并不了解自己的服务是什么样子,这就会导致一些问题:

  1. 实际资源利用低。根据统计两周内对服务的最高资源使用数据表示,百分之八十的业务都存在百分之五十以上的资源浪费 (CPU 和内存) 。

  2. 特定资源集群的利用率低,公司内有专门的开发,测试,预发等集群,这部分集群的资源利用在闲时能有 80% 的资源是处于空闲状态。

三、如何使用

克隆本项目到本地,在本地使用docker 对代码进行容器构建。再到k8s集群进行部署

cd oversold
docker build -t goadmission:v0.9 . #构建镜像
kubectl create ns kube-addons  #创建命名空间
sh oversold/deploy/cfssl/create.sh #生成密钥
cd oversold/cfssl/mutatingwebhook/
kubectl apply -f .

四、如何开启

kubectl label --overwrite node --all kubernetes.io/oversold=oversold  #若只需要部分节点进行超售。只需要对需要超售节点进行打标
kubectl label --overwrite node --all kubernetes.io/overcpu=3  ### 超卖倍数
kubectl label --overwrite node --all kubernetes.io/overmem=3  #### 超卖倍数 可只超卖cpu 或meme
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
禁止转载,如需转载请通过简信或评论联系作者。

推荐阅读更多精彩内容

  • 适用于大部分项目(大同小异) 一、 项目迁移到K8S平台是怎样的流程 要以镜像作为交付对象,不再以jar包、war...
    Linux丶晨星阅读 2,888评论 0 2
  • [toc] k8s监控方案 cadvisor+heapster+influxdb+grafana 缺点:只能支持监...
    baiyongjie阅读 36,072评论 23 34
  • 前言 Kubernetes中的调度是将待处理的pod绑定到节点的过程,由Kubernetes的一个名为kube-s...
    YP小站阅读 3,425评论 0 1
  • 我是黑夜里大雨纷飞的人啊 1 “又到一年六月,有人笑有人哭,有人欢乐有人忧愁,有人惊喜有人失落,有的觉得收获满满有...
    陌忘宇阅读 8,606评论 28 53
  • 信任包括信任自己和信任他人 很多时候,很多事情,失败、遗憾、错过,源于不自信,不信任他人 觉得自己做不成,别人做不...
    吴氵晃阅读 6,231评论 4 8