当前位置: 首页 > news >正文

华为云CCE的Request和Limit

申请与限制

在CPU配额和内存配额设置中,申请限制的含义如下:

  • 申请(Request):根据申请值调度该实例到满足条件的节点去部署工作负载。
  • 限制(Limit):根据限制值限制工作负载使用的资源。

如果实例运行所在的节点具有足够的可用资源,实例可以使用超出申请的资源量,但不能超过限制的资源量。

例如,如果您将实例的内存申请值为1GiB、限制值为2GiB,而该实例被调度到一个具有8GiB内存的节点上,且该节点上没有其他实例运行,那么该实例在负载压力较大的情况下可使用超过1GiB的内存,但内存使用量不得超过2GiB。若容器中的进程尝试使用超过2GiB的资源时,系统内核将会尝试将进程终止,出现内存不足(OOM)错误。

配置说明

在实际生产业务中,建议申请和限制比例为1:1.5左右,对于一些敏感业务建议设置成1:1。如果申请值过小而限制值过大,容易导致节点超分严重。如果遇到业务高峰或流量高峰,容易把节点内存或者CPU耗尽,导致节点不可用的情况发生。

  • CPU配额:CPU资源单位为核,可以通过数量或带单位后缀(m)的整数表达,例如数量表达式0.1核等价于表达式100m,但Kubernetes不允许设置精度小于1m的CPU资源。

建议配置方法

节点的实际可用分配CPU量 ≥ 当前实例所有容器CPU限制值之和 ≥ 当前实例所有容器CPU申请值之和,节点的实际可用分配CPU量请在“资源管理 > 节点管理”中对应节点的“可分配资源”列下查看“CPU: ** Core”。

  • 内存配额:内存资源默认单位为字节,或者也可以使用带单位后缀的整数来表达,例如100Mi。但需要注意单位大小写。
CPU和内存配额使用示例

假设集群中可调度的节点资源总量为4Core 8GiB,且已经在集群中部署了两个实例,其中实例1存在CPU和内存资源超分(即限制值>申请值),而实例2不存在资源超分。两个实例的规格设置如下:

那么节点上CPU和内存的资源使用情况如下:

  • CPU可分配资源=4Core-(实例1申请的1Core+实例2申请的2Core)=1Core
  • 内存可分配资源=8GiB-(实例1申请的1GiB+实例2申请的2GiB)=5GiB

此时节点还剩余1Core 5GiB的资源可供下一个新增的实例调度。

如果实例1处于业务高峰、负载压力较大时,会尝试在限制值范围内使用更多的CPU和内存,因此实际可用的资源将会小于1Core 5GiB。

其他资源配额

节点通常还可以具有本地的临时性存储(Ephemeral Storage),由本地挂载的可写入设备或者有时也用RAM来提供支持。临时性存储所存储的数据不提供长期可用性的保证,Pod通常可以使用本地临时性存储来实现缓冲区、保存日志等功能,也可以使用emptyDir类型的存储卷挂载到容器中。更多详情请参见本地临时存储。

Kubernetes支持在容器的定义中指定ephemeral-storage的申请值和限制值来管理本地临时性存储。 Pod中的每个容器可以设置以下属性:

  • spec.containers[].resources.limits.ephemeral-storage
  • spec.containers[].resources.requests.ephemeral-storage

以下示例中,Pod包含两个容器,每个容器的本地临时性存储申请值为2GiB,限制值为4GiB。 因此,整个Pod的本地临时性存储申请值是4GiB,限制值为8GiB,且emptyDir卷使用了500Mi的本地临时性存储。

apiVersion: v1
kind: Pod
metadata:name: frontend
spec:containers:- name: container-1image: <example_app_image>resources:requests:ephemeral-storage: "2Gi"limits:ephemeral-storage: "4Gi"volumeMounts:- name: ephemeralmountPath: "/tmp"- name: container-2image: <example_log_aggregator_image>resources:requests:ephemeral-storage: "2Gi"limits:ephemeral-storage: "4Gi"volumeMounts:- name: ephemeralmountPath: "/tmp"volumes:- name: ephemeralemptyDir:sizeLimit: 500Mi

http://www.xdnf.cn/news/1386973.html

相关文章:

  • Ethercat主从站移植时的问题记录(二)—无法进入OP状态且从站PDI中断不触发
  • 什么是Jmeter? Jmeter工作原理是什么?
  • linux上安装methylkit -- 安全下车版 (正经版: Linux环境下安装methylKit的实践与避坑指南)
  • springboot java开发的rocketmq 顺序消息保证
  • CAN总线(Controller Area Network Bus)控制器局域网总线(二)
  • 无人机图传模块原理及作用——开启飞行视野的关键技术
  • 第二阶段WinForm-9:委托复习
  • 应用转生APP:无需Root权限的应用双开和Xposed模块加载工具
  • 计算机是如何运行的
  • [AI人脸替换] docs | 环境部署指南 | 用户界面解析
  • c++ template
  • OpenCSG月度更新2025.8
  • 电影交流|基于SprinBoot+vue的电影交流平台小程序系统(源码+数据库+文档)
  • C++基础(④链表反转(链表 + 迭代 / 递归))
  • 公司内网部署离线deepseek+docker+ragflow本地模型实战
  • SpringBoot整合Spring WebFlux弃用自带的logback,使用log4j2,并启动异步日志处理
  • Python计算点云的均值、方差、标准差、凸点(顶点)、质心和去中心化
  • Docker03-知识点整理
  • Go Vendor 和 Go Modules:管理和扩展依赖的最佳实践
  • 项目一系列-第9章 集成AI千帆大模型
  • C/C++---预定义常量
  • iCloud 备份与 iTunes 备份:有何不同
  • Jenkins Pipeline(二)-设置Docker Agent
  • Python中的匿名函数详解(lambda)
  • 无人机固件升级与技术要点解析
  • 命令行操作:逻辑运算符、重定向与管道
  • Cesium 入门教程(十二):时间动画实例
  • AI共链·智存未来 | 绿算技术受邀出席华为AI SSD发布会
  • 预测模型及超参数:3.集成学习:[1]LightGBM
  • TDengine 3.3.7.0 新增性能基准工具 taosgen