kubernetes资源对象--limitranges

【K8S系列】Kubernetes集群资源管理与调度 深度分析 在现代微服务架构中,Kubernetes(K8s)作为容器编排平台,提供了强大的资源管理和调度能力。然而,随着应用规模的扩大和复杂性增加,如何高效地管理和调度集群资源成为一个关键挑战。本文将深入探讨 Kubernetes 中的资源管理策略,重点介绍资源请求和限制、资源配额、限制策略、调度策略以及监控与自动调整机制。 阅读详情

 

置顶 2017年08月15日 17:55:16 lykops 阅读数:1694

版权声明:本文属于原创,欢迎转载,转载请保留出处:http://blog.youkuaiyun.com/liyingke112 https://blog.youkuaiyun.com/liyingke112/article/details/77198045

下文基于kubernetes 1.5.2版本编写

概念

 

LimitRange(简称limits)基于namespace的资源管理,包括pod和container的最小、最大和default、defaultrequests等。

一旦创建limits,以后创建资源时,K8S将该limits资源限制条件默认/强制给pod,创建后发现不符合规则,将暂停创建pod。

在创建资源时,用户可以为pod自定义资源管理限制,在创建时会去检查和匹配limits值,发现不匹配将在创建时报错。创建后,该pod的资源使用遵守自定义规则,而不会遵守namespace的limits限制。

例子

 
  1. kubectl delete -f lykops-limitrangerange.yaml

  2. cat << EOF > lykops-limitrangerange.yaml

  3. apiVersion: v1

  4. kind: LimitRange

  5. metadata:

  6. namespace: default

  7. name: lykops-limitrange

  8. labels:

  9. project: lykops

  10. app: limitrange

  11. version: v1

  12. spec:

  13. limits:

  14. - max:

  15. cpu: 1

  16. memory: 1Gi

  17. min:

  18. cpu: 0.05

  19. memory: 64Mi

  20. type: Pod

  21. #注意pod只能这么多参数

  22. - default:

  23. cpu: 0.2

  24. memory: 200Mi

  25. defaultRequest:

  26. cpu: 0.01

  27. memory: 16Mi

  28. max:

  29. cpu: 0.25

  30. memory: 256Mi

  31. min:

  32. cpu: 0.005

  33. memory: 8Mi

  34. #container只能这么多参数

  35. type: Container

  36. EOF

  37. kubectl create -f lykops-limitrangerange.yaml

参数说明

每容器(type: container)

 
  1. min:资源紧张时,最低保证可以使用的资源是: CPU 0.005个核,内存8M

  2. max:资源空闲时,最大可以使用的资源是:CPU 0.25个核,内存256M

  3. default:默认时,限制使用的资源是:CPU 0.2个核,内存200M

  4. defaultRequest:默认时,最低保证可以使用的资源是: CPU 0.01个核,内存16M

每pod(type: pod)

 
  1. min:最低保证可以使用的资源是: CPU 0.05个核,内存64M

  2. max最大可以使用的资源是:CPU 1个核,内存1G

使用规则

1、每个namespace应该只有一个limits;

2、limits值设置:

 
  1. 每容器(type: container)

  2. max>=default>=defaultRequest>min

  3. 每pod(type: pod)

  4. max>=min

  5. 整个

  6. 容器的max*容器数<=pod的max

  7. 容器的min*容器数<=pod的min

3、创建资源时,pod自定义资源限制的规则:

 
  1. 自定义的单个request>=limits的容器的defaultrequets

  2. 自定义的request的总和>=limits的pod的min

  3. 自定义的单个limit<=limits的容器的requets

  4. 自定义的limit的总和<=limits的pod的max

使用心得

为了防止出现创建资源失败的情况,个人建议:

 
  1. 1、只使用limits的pod或者container中的一种,尽量不使用同时使用,特别在pod中有多容器需求的情况下。

  2. 2、尽量使用max,尽量不同时使用max和min

  3. 3、由于limits会针对该namespace下的所有新建的pods,所以在该namespace下应该运行哪些资源需求相同的业务

  4. 4、在复杂的limits配置下,不要在创建资源时使用自定义配置。

PLL锁相环性能上不去?可能是电荷泵的电流失配在捣鬼(附Jae-Shin Lee经典方案解析) 本文深入分析了PLL锁相环性能瓶颈的根源——电荷泵电流失配问题,详细解析了Current Mismatch和Current Deviation的区别及其对系统的影响。重点介绍了Jae-Shin Lee的多级电流镜技术,该方案通过运放构建虚拟短路和四级电流镜结构,显著降低了电流失配,使参考杂散改善15dB以上。文章还提供了从仿真到流片的完整优化流程,帮助工程师系统解决电荷泵性能问题。 阅读详情

相关推荐

YOLOV8多模态(可见光+红外光目标检测任务,基于Ultralytics官方代码实现)

torch 2.3.1 torchvision 0.18.1 Python 3.8.19 tensorrt 8.5.3.1DroneVehicle数据集下载地址DroneVehicle 数据集由无人机采集的 56,878 张图像组成,其中一半是 RGB 图像,其余是红外图像。我们为这 5 个类别制作了丰富的注释,其中包含定向边界框。其中,汽车在 RGB 图像中有 389,779 个注释,在

Mjy的博客 7585

[置顶] kubernetes资源对象--limitranges

概念 LimitRange(简称limits)基于namespace的资源管理,包括pod和container的最小、最大和default、defaultrequests等。 一旦创建limits,以后创建资源时,K8S将该limits资源限制条件默认/强制给pod,创建后发现不符合规则,将暂停创建pod。 在创建资源时,用户可以为pod自定义资源管理限制,在创建时会去...

ddk4044的博客 298

从零到一:如何用YOLOv8和PyQt5打造一个高效的路面坑洞检测系统

本文详细介绍了如何利用YOLOv8和PyQt5开发一个高效的路面坑洞检测系统。从环境配置、数据采集标注到模型训练优化,再到PyQt5界面开发与系统集成,提供了完整的实战指南。该系统结合深度学习技术,显著提升了道路检测的准确性和效率,适用于各类道路维护场景。

weixin_29047919的博客 308

kubernetes笔记: LimitRanges

Resource Quota区分的粒度是namespace,其目的是为了不同namespace之间的公平,防止某些流氓team占用了太多的资源。而limitRange区分的粒度则是container,则是在为了在同一个namespace下,限制container的最大最小值。另外, 在设置了resourceQuota的namespace下,如果用户创建Pod时没有指定limit/request,默...

Jian Sun_的博客 1133

complier lab2

只需支持定义 main 函数即可不带参数 int main(){...}带参数 int main(int argc, int argv){...}

qq_43581843的博客 908

单相PWM整流器搭建训练——(一)拓扑原理介绍

单相整流器是一种将交流电转换为直流电的设备,主要由变压器、整流元件和滤波电路组成。变压器将输入的交流电压转换为适合整流的较低电压,整流元件(如二极管)利用其单向导电性将交流电转换为脉动直流电,最后滤波电路去除脉动直流电中的纹波,输出较为平滑的直流电,从而实现交流到直流的转换,广泛应用于各类电源设备中。

DikouNass的博客 1590

k8s中ResourceQuota与LimitRange的作用

什么是Namespace Namespace是对全局系统资源的一种封装隔离,使处于不同Namespace的进程拥有独立的系统资源。通过不同的Namespace可以合理地管理不同的服务。他们相互隔离,但又可以相互通信。常见的pods,services,replication,controllers和persistentVolumes等都是属于某一个Namespace的(默认为default),但是...

树袋熊 2527

关于K8s中资源配置范围管理(LimitRange)的一些笔记

分享一些K8s中LimitRange的笔记博文内容涉及:LimitRange简单介绍LimitRange资源对象创建使用准入检查和资源约束的一些 Demo理解不足小伙伴帮忙指正跳出童年时代吧,朋友,觉醒呵!— J.J. 卢梭在默认情况下,Kubernetes不会对Pod做 CPU 和内存等资源限制,即 Kubernetes 系统中任何 Pod 都可以使用其所在节点的所有可用的CPU和内存。通过配置 Pod 的计算资源Requests和Limits,我们可以限制Pod的资源使用,配置。

山河已无恙 1134

crowdcountingp2p代码复现

前面学习了一下论文:Improved Field-Based Soybean Seed Counting and Localization with Feature Level Considered该论文的模型原型由CrowdCounting-P2PNet改进而来这里先复现一下CrowdCounting-P2PNet模型,然后再学习P2PNet-Soy模型。

m0_73832962的博客 2329

反光柱定位算法中的移动机器人姿态计算原理-经典三边定位最小二乘法计算定位-直接法计算定位

(二)计算姿态方式是我们已经通过最小二乘得到了小车在地图中的位置或者是雷达在地图中的位置,又因为我们知道雷达与小车的安装坐标,所以可以求解出一其中一个坐标的知量,通过小车在地图中坐标与雷达在地图中坐标可以得到一条向量,通过计算向量在地图中的角度就能得到姿态了。与最小二乘三边测量法相比,新算法在动态调整、优化过程和鲁棒性方面优势明显,尤其适合动态环境下的机器人定位,而最小二乘三边测量法在动态复杂环境中精度相对较低。(一)与(二)的区别主要是在计算姿态上的算法不同。经典三边定位最小二乘法 (法一)

苏凯的博客 1141

K8S资源限制之LimitRange

LimitRange也是一种资源,在名称空间内有效;限制同一个名称空间下pod容器的申请资源的最大值,最小值pod的resources中requests和limits必须在这个范围内,否则pod无法创建。当然pod也可以不使用resources进行创建range可以设置为一个默认值type: 限制对象可以是 ontainer、Pod、PersistentVolumeClaim。

qq_73797346的博客 1012

数学建模学习(78):多输入多输出回归预测模型(结合XGBoost实现)

多输入多输出回归预测问题求解

全栈川川 8131

kubernetes--资源管理

kubernetes的资源管理分为资源请求(request)和资源限制(limit),资源请求能够保证Pod有足够的资源来运行,而资源限制则是防止某个Pod无限制地使用资源,导致其他Pod崩溃。kubernetes1.5之前的版本只支持CPU和内存这两种资源类型。 kubernetes的资源管理有3种方式,分别是单个资源对象的资源管理(以下简称resource)、limitranges、resourcequotas。resource和limitranges可以单独使用,也可以同时使用,而resourceq

lyk-ops 3227

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

[kubernetes] 资源管理 ---- 资源请求和限制

当Kubernetes调度Pod时,容器是否有足够的资源来实际运行是很重要的。 如果大型应用程序被调度到资源有限的节点上,则节点可能会耗尽内存或CPU资源,并且可能会停止工作! 请求和限制 请求和限制是Kubernetes用于控制CPU和内存等资源的机制。 请求是保证容器能够得到的资源。 如果容器请求资源,Kubernetes会将其调度到可以为其提供该资源的节点上。 另一方面,限制则是确...

摩登都市天空---专栏 2069

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

kubernetes资源类型--limitranges

概念 默认情况下,K8S中所有容器都没有任何CPU和内存限制。LimitRange(简称limits)用来给Namespace增加一个资源限制,包括最小、最大和默认资源。在pod创建时,强制执行使用limits的参数分配资源。 例子 kubectl delete -flykops-limitrangerange.yaml cat &lt;&lt; EOF &gt;lykops-limit...

lyk-ops 215

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

[置顶] kubernetes--资源管理

概念 默认情况下,kubernetes不会限制pod等资源对象使用系统资源,单个pod或者容器可以无限制使用系统资源。 kubernetes的资源管理分为资源请求(request)和资源限制(limit),资源请求能够保证Pod有足够的资源来运行,而资源限制则是防止某个Pod无限制地使用资源,导致其他Pod崩溃。kubernetes1.5之前的版本只支持CPU和内存这两种资源类型。 ...

ddk4044的博客 109

k8s的资源分配

限制每个实例 在创建一个replicationcontroller(以下简称rc)时,我们可以在创建文件中指定pod的资源配额,如下面的json: { "kind": "ReplicationController", "apiVersion": "v1", "metadata": { "nam...

weixin_33950035的博客 1339

kubernetes容器云平台上一套简单易用的计算资源使用限制方案

默认情况下,我们都知道容器可以在Kubernetes群集上使用无限制的计算资源运行。 对于一个比较强调可靠性、可用性的技术平台来讲,这显然是不行的。 在kubernetes中主要通过两个技术来实现资源使用上的限制: Resource Quotas 资源使用配额管理 Limit Ranges 资源数量使用限制 当多个用户或团队共享具有固定数量节点的群集时,可能会担心一个团队...

watermelonbig的专栏 656

Kubernetes 命令缩写

endpoints ep true Endpointsevents ev true Eventlimitranges limits

2501_90254378的博客 340
上一篇: MISCONF Redis is configured to save RDB snapshots
下一篇: kubernetes资源对象--limitranges
王树民
博客等级 码龄10年 912粉丝 560原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值