k8s 详解之资源管理


资源模型

在 kubernetes 中,任何可以被申请、分配,最终被使用的对象,都是 kubernetes 中的资源,k8s 默认 只支持 CPU 和内存的定义, 后续可以通过 device plugin 来扩展其他资源的使用,比如 GPU。

可压缩资源和不可压缩资源

所有的资源类型,可以被划分为两大类:可压缩和不可压缩的。

  • 可压缩: 如果系统限制或者缩小容器对可压缩资源的使用的话,只会影响服务对外的服务性能,比如 CPU 就是一种非常典型的可压缩资源。 如果容器的 CPU 使用草果了申请的上限, linux 会通过公平调度算法和 cgroups 对这个容器进行限速。 限速行为并不会影响容器的运行, 只是申请不到更多的 CPU 会让服务性能跟不上去。

  • 对于不可压缩资源来说,资源的紧缺是有可能导致服务对外不可用的,比如内存就是一种非常典型的不可压缩资源。 如果内存的使用超过了限制, 就会触发 OOMKilled。 因为它是不可压缩的资源,申请不到新的内存就会直接跪掉。
    所以当资源超过了设置的值, 会触发什么样的行为, 都要看它属于什么资源类型以及 cgroups 如何对其进行处理。

资源申请

kubernetes 中 pod 对资源的申请是以容器为最小单位进行的,针对每个容器,它都可以通过如下两个信息指定它所希望的资源量:

resources:  
 requests:    
   cpu: 2
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值