文章目录

  • 一、资源配额管理对象
  • 二、基于Namespace资源配额概述
  • 三、资源配额所能管理的资源类型
    • 3.1、计算资源配额
    • 3.2、存储资源配额
    • 3.3、对象数量配额
  • 四、设置和查看资源配额
    • 4.1、计算资源配额
    • 4.2、资源对象数量管理
  • 总结:整理不易,如果对你有帮助,可否点赞关注一下?

一、资源配额管理对象

作为完备的企业级容器管理平台,Kubernetes提供了资源配额管理(ResourceQuota)这一高级功能,资源配额管理确保指定的资源对象在任何时候都不会超量占用系统物理资源。

支持如下三个层次的资源配额管理
1、容器级别:可以对cpu和memory进行限制
2、Pod级别:可以对一个pod内所有容器的可用资源进行限制
3、Namespace级别:为Namespace(多租户)的级别资源限制,包括如下所示:
  Pod数量
  Replication Controller数量
  Service数量
  ResourceQuota数量
  Secret数量
  可持有的PV(Persistent Volume)数量

说明:
  k8s配额管理是通过Admission Control(准入控制)来控制的。
  Admission Control提供两种配额约束方式:LimitRanger和ResourceQuota
  LimitRanger作用于Pod和Container。
  ResourceQuota作用于Namespace上,限定一个Namespace里的各类资源的使用总额。

这里主要介绍基于Namespace(多租户)进行资源配额管理。


二、基于Namespace资源配额概述


三、资源配额所能管理的资源类型

在Kuberners中,资源配额能够对计算资源(CPU和内存)、存储资源、以及对资源对象的数量进行管理。

3.1、计算资源配额

用户可以对给定命名空间下的可被请求的计算资源总量进行限制,配额机制所支持的资源类型:


3.2、存储资源配额

用户可以对给定命名空间下的存储资源 总量进行限制。此外,还可以根据相关的存储类(Storage Class)来限制存储资源的消耗。

例如,如果一个操作人员针对 gold 存储类型与 bronze 存储类型设置配额, 操作人员可以定义如下配额:
gold.storageclass.storage.k8s.io/requests.storage: 500Gi
bronze.storageclass.storage.k8s.io/requests.storage: 100Gi


3.3、对象数量配额

给定类型的对象数量可以被限制。 支持以下类型:

说明:pods 配额统计并保证单个namespace下创建 pods 的最大数量。用户可能希望在namespace中为pod设置配额,来避免有用户创建很多小的pod,从而耗尽集群提供的pod IP地址。


四、设置和查看资源配额

由于在资源配额是基于命名空间进行设置的,因此,在此示例中先创建一个名称为quota-mem-cpu-example的命名空间:

kubectl create namespace lolaage

4.1、计算资源配额

下面是定义管理计算资源配额的YAML文件,在此文件中,资源配额管理的名称为compute-resources,pod的数量为4,cpu的需求数量为2核,cpu的限制数量为4核;内存的需求大小为4Gi,内存的限制大小为8Gi。

vim compute-resources.yamlapiVersion: v1
kind: ResourceQuota
metadata:name: compute-resources
spec:hard:pods: "4" requests.cpu: "2"requests.memory: 4Gilimits.cpu: "4"limits.memory: 8Gi

通过下面的kubectl命令在myspaces命名空间下创建资源配额:

kubectl create -f ./compute-resources.yaml --namespace=lolaage

在创建完资源配额后,通过执行下面的命令查看资源配额的详细信息

kubectl describe quota compute-resources --namespace=lolaage
或
kubectl get resourcequota compute-resources  --namespace=lolaage --output=yaml

如下图所示:

删除你的命名空间计算资源限制

kubectl delete namespace compute-resources

总结:ResourceQuota在lolaage命名空间中设置了如下要求:
每个容器必须有内存请求和限制,以及 CPU 请求和限制。
所有容器的内存请求总和不能超过4 GiB。
所有容器的内存限制总和不能超过8 GiB。
所有容器的 CPU 请求总和不能超过2 cpu。
所有容器的 CPU 限制总和不能超过4 cpu


4.2、资源对象数量管理

下面是定义管理资源对象数量配额的YAML文件,在此文件中,资源配额管理的名称为resource-object-counts:

vim resource-object-counts.yamlapiVersion: v1
kind: ResourceQuota
metadata:name: resource-object-counts
spec:hard:configmaps: "10"persistentvolumeclaims: "4"replicationcontrollers: "20"secrets: "10"services: "10"services.loadbalancers: "2"

通过下面的kubectl命令在lolaage命名空间下创建资源配额:

kubectl create -f ./resource-object-counts.yaml --namespace=lolaage

在创建完资源配额后,通过执行下面的命令查看资源配额的详细信息:

kubectl describe quota resource-object-counts  --namespace=lolaage
或
kubectl get resourcequota resource-object-counts  --namespace=lolaage --output=yaml

如下图所示:

删除你的命名空间资源对象数量限制

kubectl delete namespace resource-object-counts

参考官方资源配额说明


总结:整理不易,如果对你有帮助,可否点赞关注一下?

更多详细内容请参考:企业级K8s集群运维实战

《Kubernetes知识篇:基于Namespace(多租户)进行资源配额管理》相关推荐

  1. ComeFuture英伽学院——2020年 全国大学生英语竞赛【C类初赛真题解析】(持续更新)

    视频:ComeFuture英伽学院--2019年 全国大学生英语竞赛[C类初赛真题解析]大小作文--详细解析 课件:[课件]2019年大学生英语竞赛C类初赛.pdf 视频:2020年全国大学生英语竞赛 ...

  2. ComeFuture英伽学院——2019年 全国大学生英语竞赛【C类初赛真题解析】大小作文——详细解析

    视频:ComeFuture英伽学院--2019年 全国大学生英语竞赛[C类初赛真题解析]大小作文--详细解析 课件:[课件]2019年大学生英语竞赛C类初赛.pdf 视频:2020年全国大学生英语竞赛 ...

  3. 信息学奥赛真题解析(玩具谜题)

    玩具谜题(2016年信息学奥赛提高组真题) 题目描述 小南有一套可爱的玩具小人, 它们各有不同的职业.有一天, 这些玩具小人把小南的眼镜藏了起来.小南发现玩具小人们围成了一个圈,它们有的面朝圈内,有的 ...

  4. 信息学奥赛之初赛 第1轮 讲解(01-08课)

    信息学奥赛之初赛讲解 01 计算机概述 系统基本结构 信息学奥赛之初赛讲解 01 计算机概述 系统基本结构_哔哩哔哩_bilibili 信息学奥赛之初赛讲解 02 软件系统 计算机语言 进制转换 信息 ...

  5. 信息学奥赛一本通习题答案(五)

    最近在给小学生做C++的入门培训,用的教程是信息学奥赛一本通,刷题网址 http://ybt.ssoier.cn:8088/index.php 现将部分习题的答案放在博客上,希望能给其他有需要的人带来 ...

  6. 信息学奥赛一本通习题答案(三)

    最近在给小学生做C++的入门培训,用的教程是信息学奥赛一本通,刷题网址 http://ybt.ssoier.cn:8088/index.php 现将部分习题的答案放在博客上,希望能给其他有需要的人带来 ...

  7. 信息学奥赛一本通 提高篇 第六部分 数学基础 相关的真题

    第1章   快速幂 1875:[13NOIP提高组]转圈游戏 信息学奥赛一本通(C++版)在线评测系统 第2 章  素数 第 3 章  约数 第 4 章  同余问题 第 5 章  矩阵乘法 第 6 章 ...

  8. 信息学奥赛一本通题目代码(非题库)

    为了完善自己学c++,很多人都去读相关文献,就比如<信息学奥赛一本通>,可又对题目无从下手,从今天开始,我将把书上的题目一 一的解析下来,可以做参考,如果有错,可以告诉我,将在下次解析里重 ...

  9. 信息学奥赛一本通(C++版) 刷题 记录

    总目录详见:https://blog.csdn.net/mrcrack/article/details/86501716 信息学奥赛一本通(C++版) 刷题 记录 http://ybt.ssoier. ...

  10. 最近公共祖先三种算法详解 + 模板题 建议新手收藏 例题: 信息学奥赛一本通 祖孙询问 距离

    首先什么是最近公共祖先?? 如图:红色节点的祖先为红色的1, 2, 3. 绿色节点的祖先为绿色的1, 2, 3, 4. 他们的最近公共祖先即他们最先相交的地方,如在上图中黄色的点就是他们的最近公共祖先 ...

最新文章

  1. 知乎快捷取消我关注的问题chrome插件
  2. python散点图如何设置外边框_如何绘制散点图的外围边框?
  3. python range函数怎么表示无限_Python for循环与range函数的使用详解
  4. C++(STL):35---multimap容器
  5. python保存图片到指定路径_使用Python将不同大小照片制作为GIF动画2
  6. telnet后为啥打开的时防火墙_《和平精英》停服时玩家打开国际服,淘汰1个敌人后收到1个提示!...
  7. HTML5要点(四)对象全整理
  8. 远程调用python_远的解释|远的意思|汉典“远”字的基本解释
  9. LINQ查询表达式详解(2)——查询表达式的转换
  10. IDEA 数据库可视化配置
  11. azure微软文字转语音工具​AzureTools​使用
  12. C语言ctime函数
  13. 困扰一周的配环境问题——RTX3090+CUDA11.1
  14. 挣值管理-成本管理-高项计算题核心
  15. Android系统累次停止运行,安卓手机反应迟钝的原因及解决方法
  16. 数据库分片(Sharding):分表+分库+分片+分区
  17. 【PHP】PHP中使用Spreadsheet_Excel_Reader处理EXCEL日期问题?
  18. Swarm的进化和在阿里的大规模应用实践
  19. Flutter Animations showModal 模态动画方式打开新的页面
  20. HTML5重构互联网:浏览器将部分替代操作系统

热门文章

  1. 人脸识别:人脸数据集
  2. 手摸手带你学移动端WEB开发
  3. 像微信一样简单的智能健身房
  4. java中的String、StringBuffer和StringBuilder的详细分析
  5. tensor如何实现转置_pytorch tensor 变换
  6. #2708. 黑暗(dark)
  7. html中如何插入pdf文件,如何创建PDF文件
  8. Java中IO流体系
  9. 自学编程的人,90%以上都会掉进这些坑,避开这些误区能提高N倍学习效率
  10. pip被卸载了,如何再重新安装