pod计算资源管理

本文介绍了在Kubernetes中管理Pod的CPU和内存资源,包括requests和limits的使用。requests在调度阶段确保Pod的资源需求不超过Node能力,而limits则限制运行时容器的资源消耗。requests.cpu设置容器的CPU使用权重,limits.cpu限制最大CPU使用率,limits.memory限制容器的最大内存使用。未设置的默认值与集群配置有关。
摘要由CSDN通过智能技术生成

k8s支持管理pod的cpu和memory两种计算资源,每种资源可以通过spec.container[].resources.requests和spec.container[].resources.limits两个参数管理

默认值

  • requests未设置时,默认与limits相同。
  • limits未设置时,默认值与集群配置相关。

requests

  • requests用于schedule阶段,k8s scheduler在调度pod时会保证所有pod的requests总和小于node能提供的计算能力。
  • requests.cpu会被转换成docker run的–cpu-shares参数。该参数与cgroup cpu.shares功能相同,具体为:
    • 用来设置容器的cpu使用的相对权重。
    • 该参数只有在CPU资源不足时生效,系统会根据容器requests.cpu的比例来分配cpu资源给该容器。例如两个container设置了相同的requests.cpu,当两者抢占CPU资源时,系统会给两个container分配相同比例的CPU资源。
    • CPU资源充足时,requests.cpu不会限制单个container占用的最大值,即单个container可以独占CPU。
  • requests.memory没有对应的docker run参数,只作为k8s调度依据。
  • 可以使用requests来设置各容器需要的最小资源,使得k8s可以将更多的pod分配到一个node来实现超卖。

limits

  • limits用于限制运行时容器占用的资源。
  • limits.cpu会被转换成docker run的–cpu-quota参数。该参数与cg
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值