默认情况下如果创建一个 Pod 没有设置 LimitsRequests 对其加以限制,那么这个 Pod 可能能够使用 Kubernetes 集群中全部资源, 但是每创建 Pod 资源时都加上这个动作是繁琐的,考虑到这点 Kubernetes 提供了 LimitRange 对象,它能够对一个 Namespace 下的全部 Pod 使用资源设置默认值、并且设置上限大小和下限大小等操作。这里演示将使用 LimitRange 来限制某个 namespace 下的资源的测试用例。

考虑到 LimitRange 是作用于 Namespace 的,所以这里提前创建一个用于测试的 Namespace。

$ kubectl create namespace limit-namespace

创建 LimitRange 对 Namespace 资源限制
创建一个 LimitRange 对象限制 Namespace 下的资源使用,其中 limit 的类型有两种:

1.对 Container 使用资源进行限制,在 Pod 中的每一个容器都受此限制。
2.对 Pod 进行限制,即 Pod 中全部 Container 使用资源总和来进行限制。

资源对象 limit-range.yaml 内容如下:

apiVersion: v1
kind: LimitRange
metadata:
name: limit-test
spec:
limits:
- type: Pod #对Pod中所有容器资源总和进行限制
max:
cpu: 4000m
memory: 2048Mi
min:
cpu: 10m
memory: 128Mi
maxLimitRequestRatio:
cpu: 5
memory: 5
- type: Container #对Pod中所有容器资源进行限制
max:
cpu: 2000m
memory: 1024Mi
min:
cpu: 10m
memory: 128Mi
maxLimitRequestRatio:
cpu: 5
memory: 5
default:
cpu: 1000m
memory: 512Mi
defaultRequest:
cpu: 500m
memory: 256Mi
执行 Kubectl 创建 LimitRange:

$ kubectl apply -f limit-range.yaml -n limit-namespace

Container 参数:

max: Pod 中所有容器的 Limits 值上限。
min: Pod 中所有容器的 Requests 值下限。
default: Pod 中容器未指定 Limits 时,将此值设置为默认值。
defaultRequest: Pod 中容器未指定 Requests 是,将此值设置为默认值。
maxLimitRequestRatio: Pod 中的容器设置 Limits 与 Requests 的比例的值不能超过 maxLimitRequestRatio 参数设置的值,即 Limits/Requests ≤ maxLimitRequestRatio。
Pod 参数:

max: Pod 中所有容器资源总和值上限。
min: Pod 中所有容器资源总和值下限。
maxLimitRequestRatio: Pod 中全部容器设置 Limits 总和与 Requests 总和的比例的值不能超过 maxLimitRequestRatio 参数设置的值,即 (All Container Limits)/(All Container Requests) ≤ maxLimitRequestRatio。

K8s 资源范围管理对象 LimitRange的更多相关文章

  1. K8s 资源配额管理对象 ResourcesQuota

    Kubernetes 是一个多租户平台,更是一个镜像集群管理工具.一个 Kubernetes 集群中的资源一般是由多个团队共享的,这时候经常要考虑的是如何对这个整体资源进行分配.在 kubernete ...

  2. Prometheus 监控K8S 资源状态对象

    Prometheus 监控K8S 资源状态对象 官方文档:https://github.com/kubernetes/kube-state-metrics kube-state-metrics是一个简 ...

  3. k8s资源清单基础

    资源清单介绍 创建资源的方法  apiserver仅接收JSON格式的资源定义  yaml格式提供配置清单 apiserver可自动把yaml转换成json格式数据 资源清单五个一级字段   1.ap ...

  4. 3.k8s资源控制器rs Deployment Job

    k8s资源控制器 #控制器类型 ReplicaSet #rs,确保pod副本数,rs已替代rc Deployment #管理rs,升级.回滚.扩容pod DaemonSet #在每个节点运行一个Pod ...

  5. k8s资源清单定义入门

    1.资源分类 a.workload型资源:service.pod.deployment.ReplicaSet.StatefulSet.Job.Cronjob; b.服务发现及服务均衡资源型资源:Ser ...

  6. k8s资源对象及API群组

    REST是representational state transfer的缩写,意为“表征状态转移”,它是一种程序架构风格,基本元素为资源(resource).表征(representation)和行 ...

  7. 2.k8s资源清单

    一.常见资源对象 常见的资源对象:(包括但不仅限于) l  Workload: Pod,ReplicaSet,Deployment,StatefulSet,DaemonSet,Job,Cronjob ...

  8. 1.k8s.资源清单

    #k8s常用资源 工作负载:Pod,rs(ReplicasSet),deploy(Deployment),sts(StatefulSet),ds(DaemonSet),Job,Cronjob 服务发现 ...

  9. 理解k8s资源限制系列(二):cpu time

    本文介绍几种在K8S中限制资源使用的几种方法. 资源类型 在K8S中可以对两类资源进行限制:cpu和内存. CPU的单位有: 正实数,代表分配几颗CPU,可以是小数点,比如0.5代表0.5颗CPU,意 ...

随机推荐

  1. 【LeetCode】1433. 检查一个字符串是否可以打破另一个字符串 Max Difference You Can Get From Changing an Integer

    作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 排序 日期 题目地址:https://leetcode ...

  2. 【LeetCode】117. Populating Next Right Pointers in Each Node II 解题报告(Python)

    [LeetCode]117. Populating Next Right Pointers in Each Node II 解题报告(Python) 标签: LeetCode 题目地址:https:/ ...

  3. 【LeetCode】705. Design HashSet 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 位图法 数组法 日期 题目地址:https://le ...

  4. 对vector和map容器的删除元素操作

    /** * 删除头部元素 * 切割map到指定的个数 * @param map * @param i * @return */ map<int, Rect> PublicCardFrame ...

  5. [c++]关于指针的一些问题记录

    const char* 和char* 之间的转换 const char*是指向常量的指针,而不是指针本身为常量,可以不被初始化.该指针可以指向常量也可以指向变量,只是从该指针的角度而言,它所指向的是常 ...

  6. 论文翻译:2020_ACOUSTIC ECHO CANCELLATION WITH THE DUAL-SIGNAL TRANSFORMATION LSTM NETWORK

    论文地址:https://ieeexplore.ieee.org/abstract/document/9413510 基于双信号变换LSTM网络的回声消除 摘要 本文将双信号变换LSTM网络(DTLN ...

  7. 基于Spring MVC + Spring + MyBatis的【学生管理管理系统】

    资源下载:https://download.csdn.net/download/weixin_44893902/45602690 练习点设计:模糊查询.删除.新增 一.语言和环境 实现语言:JAVA语 ...

  8. Swoole 中使用 PDO 连接池、Redis 连接池、Mysqli 连接池

    连接池使用说明 所有连接池的实现均基于 ConnectionPool 原始连接池: 连接池的底层原理是基于 Channel 的自动调度: 开发者需要自己保证归还的连接是可重用的: 若连接不可重用,需要 ...

  9. rsync配置文件讲解

    1.安装rysnc 一般在安装系统时rsync是安装上(yum安装) 2.     vim /etc/xinetd.d/rsync 在这个路径下有配置文件 service rsync { disabl ...

  10. springboot + mybatis plus使用insert 语句并返回主键

    mapper文件 映射文件中在insert中设置useGeneratedKeys为true,keyProperty设置为主键名称 <insert id="addEmployees&qu ...