二十四、k8s 资源管理

目录

一、资源配置范围管理

LimitRange介绍

1、LimitRange 可以做什么: 

2、 资源限制和请求的约束

3、创建LimitsRange对象 

4、示例:创建一个pod

5、测试用例 

测试1:

测试2:

测试3:

 二、资源服务质量管理(Requests Qos)

1、Qos级别分类:

1.1、Guaranteed:

1.2、BestEffort:

1.3、Burstable:

2、Qos的工作特点

3、示例

三、资源配额管理(Resource Quotas)

1、启用资源配额 

3.1、计算资源配额

3.2、存储资源配额

3.3、对象数量配额

2、配额的作用域(Quota Scopes)

3、基于优先级类(PriorityClass)来设置资源配额

4、资源配额定义

 四、ResourceQuota和LimitRange实践

五、节点的CPU管理策略

1、CPU管理策略

2、更改CPU管理策略

3、节点cpu管理策略示例


一、资源配置范围管理

LimitRange介绍

        在默认情况下,kubernetes不会对Pod做CPU和内存等资源限制,即kubernetes系统中任何Pod都可以使用其所在节点的所有可用的CPU 和内存。

        通过配置 Pod 的计算资源 Requests和 Limits,我们可以限制 Pod 的资源使用,配置最高要求和最低要求。

        但对于Kubernetes 集群管理员而言,为每一个 Pod 配置 Requests和Limits 是麻烦的,同时维护特别的不方便。需要考虑如何确保一个 Pod 不会垄断命名空间内所有可用的资源。

        更多时候,我们需要对集群内Requests和Limits的配置做一个全局限制。这里就要用到 Limitrange ,LimitRange 用来限制命名空间内 适用的对象类别 (例如 Pod 或 PersistentVolumeClaim) 指定的资源分配量(限制和请求)的一个策略对象。对 Pod 和容器的 Requests 和 Limits 配置做进一步做出限制。

1、LimitRange 可以做什么: 

  • 在一个命名空间中实施对每个 Pod 或 Container 最小和最大的资源使用量的限制。
  • 在一个命名空间中实施对每个 PersistentVolumeClaim 能申请的最小和最大的存储空间大小的限制。
  • 在一个命名空间中实施对一种资源的 申请值和限制值 的 比值的控制 。
  • 设置一个命名空间中对计算资源的默认申请/限制值,并且自动的在运行时注入到多个Container中。
  • 当某命名空间中有一个LimitRange对象时,会在该命名空间中实施 LimitRange 限制。

2、 资源限制和请求的约束

        管理员在一个命名空间内创建一个 LimitRange 对象。 用户在此命名空间内创建(或尝试创建) Pod 和 PersistentVolumeClaim 等对象。

        首先,LimitRanger 准入控制器对所有没有设置计算资源需求的所有 Pod(及其容器)设置默认请求值与限制值。也就是(limits 和 Request)

        其次,LimitRange 跟踪其使用量以保证没有超出命名空间中存在的任意 LimitRange 所定义的最小、最大资源使用量以及使用量比值。

        若尝试创建或更新的对象(Pod 和 PersistentVolumeClaim)违反了 LimitRange 的约束,向 API 服务器的请求会失败,并返回 HTTP 状态码 403 Forbidden以及描述哪一项约束被违反的消息。

        若你在命名空间中添加 LimitRange 启用了对 cpu 和 memory 等计算相关资源的限制(Max,Min), 你必须指定这些值的请求使用量 requests 与限制使用量 limits ,否则,系统将会拒绝创建 Pod,除非在 LimitRange 定义 默认的 ( limits 和 requests )。LimitRange 的 验证仅在 Pod 准入阶段进行,不对正在运行的 Pod 进行验证。 如果你添加或修改 LimitRange,命名空间中已存在的 Pod 将继续不变。如果命名空间中存在两个或更多 LimitRange 对象,

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/699231.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Go语言教程

一、引言 Go(又称Golang)是由Google开发的一种静态类型、编译型的开源编程语言。它旨在提供简单、快速和可靠的软件开发体验。Go语言结合了动态语言的开发效率和静态语言的安全性能,特别适用于网络编程、系统编程和并发编程。本教程将介绍Go…

ROS1 下载与运行Github上的ROS demo

目录 1 创建工作空间2 下载Github包到本地方法1:git方法2:下载3 编译准备3.1 安装依赖3.2 编译4 配置环境方法1:工作空间的.bash文件方法2:系统.bashrc文件5 运行ROS程序5.1 打开roscore终端5.2 执行程序1 创建工作空间 选择项目存放路径,创建工作空间,存放GitHub下

飞行机器人专栏(十三)-- 智能优化算法之粒子群优化算法与多目标优化

一、理论基础 1.1 引言 粒子群优化算法(Particle Swarm Optimization, PSO)自1995年由Eberhart和Kennedy提出以来,已经成为解决优化问题的一种有效且广泛应用的方法。作为一种进化计算技术,PSO受到社会行为模式,特别是…

document.cookie中expires 格式设置问题导致部分iphone safari上登录失效

一、问题描述 设备信息:iPhone 12, iOS 16.3 昨天有个小伙伴发现自己的iPhone safari打开网页登录时,登录页面显示登录成功,但实际进入首页后仍然显示未登录。多次测试,该问题在该设备上属于必现问题。 二、问题排查与解决 经过…

C/C++内存管理学习【new】

文章目录 一、C/C内存分布二、C语言中动态内存管理方式:malloc/calloc/realloc/free三、C内存管理方式3.1 new/delete操作内置类型3.2 new和delete操作自定义类型四、operator new与operator delete函数五、new和delete的实现原理5.1 内置类型 六、定位new表达式(pl…

后端经典面试题合集

目录 1. Java基础1-1. JDK 和 JRE 和 JVM 分别是什么,有什么区别?1-2. 什么是字节码?采用字节码的最大好处是什么? 1. Java基础 1-1. JDK 和 JRE 和 JVM 分别是什么,有什么区别? JDK 是Java开发工具包&am…

基于ssm框架的高校班级管理系统设计与实现

为解决当前高校班级管理中管理方式落后、手段落后及效率低下等问题而以当前主流的互联网技术设计一款高校班级管理系统。该系统采用B/S模式的设计思路而将前端(JSP技术)和后端(SSM框架MySQL数据库)整合于一体并通过Java语言代码编…

VSCODE使用Django 页面和渲染

https://code.visualstudio.com/docs/python/tutorial-django#_use-a-template-to-render-a-page 通过模板渲染页面 文件 实现步骤 1, 修改代码,hello的App名字增加到installed_apps表中。 2, hello子目录下,创建 .\templates\…

常见的序列化数据结构方法及其优缺点汇总

文章目录 1. JSON (JavaScript Object Notation)2. XML (eXtensible Markup Language)3. YAML (YAML Aint Markup Language)4. Protobuf (Protocol Buffers)5. MessagePack6. BSON (Binary JSON)7. Avro8. Thrift9. CBOR (Concise Binary Object Representation) 将常见的序列化…

配置DM-Multipath多路径存储

1、申请并挂载共享存储 2、安装multipadthd服务 [root@localhost ~]# yum install -y multipadthd [root@localhost ~]# systemctl enable multipadthd [root@localhost ~]# yum list |grep multipadthd [root@localhost ~]# systemctl list-unit-files -t service |grep mul…

vue中使用echarts绘制双Y轴图表时,刻度没有对齐的两种解决方法

文章目录 1、原因2、思路3、解决方法3.1、使用alignTicks解决3.2、结合min和max属性去配置interval属性1、首先固定两边的分隔的段数。2、结合min和max属性去配置interval。 1、原因 刻度在显示时,分割段数不一样,导致左右的刻度线不一致,不…

全栈开发(TS,React,Vue, Java, 移动端flutter)接单

个人主页 https://hz.minicv.net/ 技术栈 前端:NextJS React VueJS 后端:NestJS Java 移动端:Flutter 其他:SpringCloud Redis Kafka Zookeeper 项目案例 微行简历( TS 全栈项目,一个极简的简历管理平…

【PHP设计模式03】抽象工厂模式

【抽象工厂模式】 前面讲的工厂方法模式,每增加一个产品都需要增加对应的工厂,这样就会存在很多工厂,但是在现实生活中的有些时候,人们并不关心产品是由哪个工厂制造的,就像一个服装厂既可以生产男装,也可以生产女装,我们只需造一个服装厂同时生产一个产品族下的男装和女…

【网络编程】从Retrofit原理来看HTTP

文章目录 create()validateServiceInterface()动态代理loadServiceMethod(method) create() 让我们先深入到create 里&#xff0c; public <T> T create(final Class<T> service) {validateServiceInterface(service);.... }validateServiceInterface() 我们发现…

【Java】Java基础(实验一)

目录 一、实验目的 二、实验内容 三、实验小结 一、实验目的 掌握Java程序的编辑、调试与运行&#xff1b;了解Java引用类型&#xff0c;掌握数组的定义和引用。掌握Java基本数据类型和输入输出。掌握Java程序结构 二、实验内容 1.JDK的环境变量设置及测试。 &#xff08…

HarmonyOS Stage模型 应用配置文件讲解

好&#xff0c;上文 HarmonyOS Stage模型基本概念讲解 中&#xff0c;我们简单讲解了HarmonyOS 中 Stage模型的基本概念 那么 我们继续学习Stage模型的相关知识 上文之后 我们肯定对它的概念和基本结构 有了一个了解 那么 我们就来看一下 基于Stage模型 它里面一些基本的配置文…

InnoDB基础篇(4)-数据类型在InnoDB中的选择

在MySQL数据库中&#xff0c;数据类型在InnoDB存储引擎中的选择是非常重要的。选择合适的数据类型可以在存储空间、性能和数据完整性方面取得优化。在本篇博客中&#xff0c;我们将介绍一些常见的MySQL数据类型&#xff0c;并讨论它们在InnoDB中的选择。 整数类型&#xff08;I…

15-36V降压充电光伏MPPT充电方案

1.MPPT原理--简介 MPPT&#xff0c;全称为Maximum Power Point Tracking&#xff0c;即最大功点跟踪&#xff0c;它是一种通过调节电气模块的工作状态&#xff0c;使光伏板能够输出更多电能的电气系统能够将太阳能电池板发出的直流电有效地贮存在蓄电池中&#xff0c;可有效地…

C++内联函数的使用

C是一门强大而灵活的编程语言&#xff0c;提供了许多特性来优化代码性能。其中之一就是内联函数&#xff0c;它可以在编译时将函数调用的地方直接替换为函数体&#xff0c;从而减少函数调用的开销。在本文中&#xff0c;我们将深入探讨C内联函数的使用&#xff0c;重点介绍它的…

uniapp editor组件添加插入超链接

标题uniapp editor组件添加插入超链接 我基于官方editor组件开发了一个可添加超链接等其他功能的富文本插件 官方富文本编辑器editor组件改良扩展优化版