二十二. Kubernetes ResourceQuota配额限制与LimitRanger限制范围

2023-11-09

一. ResourceQuota 资源限制基础解释

  1. 官方文档
  2. ResourceQuota 是k8s中对每个命名空间资源消耗总量提供的一种限制,可以限制指定命名空间中指定类型资源对象的总数目上限,也可以限制命名空间中Pod可以使用的资源总上限
  3. 管理员可以为每个命名空间创建一个或多个ResourceQuota 对象,当用户在该命名空间下创建资源时例如Pod,Service…,k8s的配额系统会跟踪集群资源的使用情况,以确保使用资源不会超过ResourceQuota 中设置的硬性资源限额
  4. 如果超过设置的资源限额,请求时会报错(HTTP 403 FORBIDDEN)并在线消息中返回超出的约束
  5. 如果启用指定命名空间的ResourceQuota ,限制计算资源配额(例如cpu,或memory),则必须为这些资源设置请求值request和约束值limit,否则系统将拒绝Pod的创建,提示使用LimitRanger准入控制器为没有设置资源请求的Pod设置默认值(也就是部署pod的yaml中设置resources资源限制属性,如果不设置这个resources则需要使用LimitRanger)
  6. ResourceQuota 中可以针对计算资源总量进行限制:
    在这里插入图片描述
  7. ResourceQuota 中可以针对存储资源总量进行限制
    在这里插入图片描述
  8. ResourceQuota 中可以针对对象数量配额限制

…参考官方文档

  1. yaml示例
apiVersion: v1
kind: List
items:
- apiVersion: v1
  kind: ResourceQuota
  metadata:
    name: pods-high
  spec:
    hard:
      cpu: "1000"
      memory: 200Gi
      pods: "10"
    scopeSelector:
      matchExpressions:
      - operator : In
        scopeName: PriorityClass
        values: ["high"]
- apiVersion: v1
  kind: ResourceQuota
  metadata:
    name: pods-medium
  spec:
    hard:
      cpu: "10"
      memory: 20Gi
      pods: "10"
    scopeSelector:
      matchExpressions:
      - operator : In
        scopeName: PriorityClass
        values: ["medium"]
- apiVersion: v1
  kind: ResourceQuota
  metadata:
    name: pods-low
  spec:
    hard:
      cpu: "5"
      memory: 10Gi
      pods: "10"
    scopeSelector:
      matchExpressions:
      - operator : In
        scopeName: PriorityClass
        values: ["low"]

二. LimitRanger

  1. LimitRanger限制范围官方文档
  2. 通过ResourceQuota 限制计算资源配额(例如cpu,或memory)时必须为这些资源设置请求值request和约束值limit,否则系统将拒绝Pod的创建,提示使用LimitRanger准入控制器为没有设置资源请求的Pod设置默认值(也就是部署pod的yaml中设置resources资源限制属性,如果不设置这个resources则需要使用LimitRanger)
  3. 这个LimitRanger就是指定限制范围的,一个 LimitRange限制范围对象提供的限制能够做到:
  1. 可以在一个命名空间中对每个 Pod 或 Container 最小和最大的资源使用量的限制。
  2. 可以在一个命名空间中对每个 PersistentVolumeClaim 能申请的最小和最大的存储空间大小的限制。
  3. 可以在一个命名空间中实施对一种资源的申请值和限制值的比值的控制。
  4. 可以设置一个命名空间中对计算资源的默认申请/限制值,并且自动的在运行时注入到多个 Container 中。
  1. 编写LimitRange限制范围yaml
apiVersion: v1
kind: LimitRange
metadata:
  name: cpu-resource-constraint
spec:
  limits:
  - default: # 此处定义默认限制值
      cpu: 500m
    defaultRequest: # 此处定义默认请求值
      cpu: 500m
    max: # max 和 min 定义限制范围
      cpu: "1"
    min:
      cpu: 100m
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

二十二. Kubernetes ResourceQuota配额限制与LimitRanger限制范围 的相关文章

随机推荐

  • Python报错及解决办法一

    问题一 C Users asus gt print Hello World 无法初始化设备 PRN 解决办法 先执行python解释器 再执行python代码 C Users asus gt python Python 3 10 6 tag
  • ValueError: shapes (1,3) and (100,1) not aligned: 3 (dim 1) != 100 (dim 0)

    ValueError shapes 1 3 and 100 1 not aligned 3 dim 1 100 dim 0 出现这个错误 是你数据的维度不对 这个问题是出现在写logistic Regression 代码时出现的 用scip
  • C++拷贝构造函数

    注意 1 当函数的参数为类的对象时 那么在函数的形参与调用这个函数时的实参并不一定内容一模一样 因为是调用的拷贝构造函数 因此也有可能自定义的拷贝构造函数会导致两个对象的内容不一样 2 拷贝构造函数 只对非静态属性进行拷贝 拷贝构造函数调用
  • OpenCV中读取摄像头

    人脸识别首先要做的就是摄像头数据的读取 这里OpenCV很好的实现了摄像头数据的读取 在OpenCV1 x中用到的函数是 1 打开摄像头或视频文件 CvCapture cvCreateCameraCapture int index inde
  • ubuntu18.04安装dconf-editor以及设置root远程终端

    今天我们将学习一下dconf editor和root远程 方便我们在工作的时候 客户需要安装软件 我们就不用那么麻烦的跑道现场去给客户安装 这也是给咱们运维人员图个方便 dconf editor介绍 这个只是简单配置存储系统 图形编辑器 可
  • linux进程间通信---本地socket套接字(一)---一个server对应一个client

    先给自己打个广告 本人的微信公众号正式上线了 搜索 张笑生的地盘 主要关注嵌入式软件开发 股票基金定投 足球等等 希望大家多多关注 有问题可以直接留言给我 一定尽心尽力回答大家的问题 想要获取完整源码的 关注公众号后回复 socket1 即
  • ipa文件怎么安装到iphone_无需电脑,无需越狱,手机端一键签名安装ipa文件

    很多玩苹果的小伙伴都知道 由于ios系统的封闭性 使得很多第三方软件无法直接安装到手机 因为破解之后都需要打包 签名才可以安装到手机使用 因此好多优秀的第三方软件都无法安装到手机使用 今天 苹果用户的福音来了 一个软件 无需电脑 无需越狱
  • CentOS7环境Grafana监控系统的备份、恢复与迁移

    目的 实现Grafana系统的数据备份 迁移与恢复 最近一直在给客户的环境搭建服务资源 业务与数据库监控 这里记录下实际搭建过程中的一些问题 如下是安装grafana的服务器要迁移 需要备份迁移并做数据恢复 1 备份Grafana相关数据
  • WebService 的一些基本概念

    一 1 Endpoint http www ttdev com SimpleService 这个webservice全名就是所谓的 endpoint 2 RPC type RPC 型的Web Service 方法定义 3 Document
  • 区块链之java(一) 番外篇(数据类型)

    预先善其事 必先利其器 今天俺们讲讲智能合约和java中的一个数据类型 在智能合约中 大概有这些基本类型 能满足开发 是否有漏的呢 我也不太清楚 因为我也没有很深入的了解这块 好了 话不多说 看看具体的东西 智能合约类型如下 uint256
  • 【Python零基础入门篇 · 12】:函数的定义和作用、函数参数、函数嵌套、枚举函数enumerate

    文章目录 函数的定义和作用 函数的结构 函数调用 返回值 函数参数 区分形参和实参 必备参数 默认参数 可变参数 关键字参数 函数嵌套 枚举函数 enumerate 函数的定义和作用 函数 function 是将具有独立功能的代码块组织成为
  • 【BEVformer部署】tensorrt部署整体流程

    1 安装依赖包 CUDA cuDNN TensorRT 下载安装 CUDA 11 6 cuDNN 8 6 0 TensorRT 8 5 1 7 地址 NVIDIA PyTorch安装指令 pip install torch 1 12 1 c
  • Python爬虫 实例 网络爬虫

    一 这里是一个简单的网页爬虫例子 python import requests from bs4 import BeautifulSoup url https example com response requests get url so
  • [小技巧] git 清理 repository

    使用如下命令可以快速清除 repository 里没有被 git 管理的文件 git clean xdf 如果要保留某些后缀的文件 如 txt 文件 使用如下命令 git clean xdfe txt 参考 http stackoverfl
  • 在 NetBeans 中自动生成 get、set 和构造函数

    如果您使用的是 NetBeans 以下内容将为您节省大量时间 您可以在几秒钟内为您的变量以及构造函数自动生成函数get set以下适用于 Java 和 PHP 但我认为它也适用于其他语言 只需将光标指向您希望生成的代码出现的位置 然后按 A
  • elasticsearch 一对多普通文档子对象边界值问题

    一般为保证大数据量 低延时业务数据查询都会用到基于lucene的搜索引擎elasticsearch ES的出现解决了大数据搜索的一大问题 但是由于某些特殊业务数据就可能出现一些问题 比如 一对多业务普通索引的子对象边界值问题 什么是子对象边
  • [游戏开发][Unity]点击Play按钮后卡死很久

    一般小工程不会遇到这个问题 我在公司接手了几个老项目 都遇到了这个问题 每次Play卡顿几分钟甚至十几分钟 很是头疼 原因大概率就是下图 Packing Sprite Atlases 打包纹理图集 Windows上的Unity项目经常不显示
  • 【分治法】中位数问题和Gray码问题——武汉理工大学算法设计与分析课程实验

    1 中位数问题 问题描述 设X 0 n 1 和Y 0 n 1 为两个数组 每个数组中含有n个已排好序的数 找出X和Y的2n个数的中位数 编程任务 利用分治策略试设计一个O log n 时间的算法求出这2n个数的中位数 数据输入 由文件inp
  • UML建模详解

    摘要 本教程简要介绍了统一建模语言 面向对象问题解决的核心是构建一个模型 该模型从其通常复杂的现实世界中抽象出基本问题的基本细节 几个建模工具被包裹在UML 的标题下 代表统一建模语言 本课程的目的是介绍UML的重要亮点 UML的中心是我们
  • 二十二. Kubernetes ResourceQuota配额限制与LimitRanger限制范围

    目录 一 ResourceQuota 资源限制基础解释 二 LimitRanger 一 ResourceQuota 资源限制基础解释 官方文档 ResourceQuota 是k8s中对每个命名空间资源消耗总量提供的一种限制 可以限制指定命名