当前位置: 首页 > 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.dtcms.com/a/356262.html

相关文章:

  • AI+云,双擎驱动——华为云让智能触手可及
  • Django Admin 管理工具
  • Java中协变逆变的实现与Kotlin中的区别
  • 如何用 Kotlin 在 Android 手机开发一个应用程序获取国家或地区信息
  • echo、seq、{}、date、bc命令
  • 如何用 Kotlin 在 Android 手机开发一个应用程序获取网络时间
  • OpenCV之霍夫变换
  • 在C++11中实现函数式编程的组合子
  • AI推介-大语言模型LLMs论文速览(arXiv方向):2025.04.25-2025.04.30
  • React Native 初体验
  • rabbitmq学习笔记 ----- 多级消息延迟始终为 20s 问题排查
  • OpenCV 图像预处理核心技术:阈值处理与滤波去噪
  • LubanCat-RK3568 UART串口通信,以及遇到bug笔记
  • CRYPT32!CryptMsgUpdate函数分析和asn.1 editor nt5inf.cat 的总览信息
  • 第八篇 永磁同步电机控制-MTPA、MTPV
  • 深入解析Qt节点编辑器框架:数据流转与扩展机制(三)
  • 实时音视频延迟优化指南:从原理到实践
  • 零知开源——基于STM32F407VET6和ADXL345三轴加速度计的精准运动姿态检测系统
  • Blender模拟结构光3D Scanner(三)获取相机观测点云的真值
  • OpenCV 基础知识总结
  • 无懈可击的 TCP AIMD
  • 亚马逊季节性产品运营策略:从传统到智能化的演进
  • kimi浏览器助手-月之暗面推出的智能浏览器扩展
  • docker中的mysql有中文显示问题跟大小写区分问题?
  • Python从入门到高手9.4节-基于字典树的敏感词识别算法
  • 使用Python脚本执行Git命令
  • React 状态丢失:组件 key 用错引发的渲染异常
  • Rust 安装与运行指南
  • Custom SRP - LOD and Reflections
  • 柳州市委常委、统战部部长,副市长潘展东率队首访深兰科技集团新总部,共探 AI 赋能制造大市与东盟合作新局