首页 > 其他分享 >高级调度-Resourcequota-limitRange

高级调度-Resourcequota-limitRange

时间:2022-11-21 02:11:22浏览次数:43  
标签:limits ## memory 调度 limitRange LimitRange ResourceQuota Resourcequota cpu

十二章:高级调度准入控制

1.为什么生产一定要用ResourceQuota

资源配额
image

image

image

ResourceQuota

2.1 ResourceQuota配置

# cat resource.yaml
========================================
apiVersion: v1
kind: ResourceQuota
metadata:
  name: resource-test
  labels:
    app: resourcequota
spec:
  hard:
    pods: 50
    requests.cpu: 0.5
    requests.memory: 512Mi
    limits.cpu: 5
    limits.memory: 16Gi
    configmaps: 20
    requests.storage: 40Gi
    persistentvolumeclaims: 20
    replicationcontrollers: 20
    secrets: 20
    services: 50
    services.loadbalancers: "2"
    services.nodeports: "10"
============================================
pods: 限制最多启动Pod的个数
requests.cpu 限制最高的cpu请求数
requests.memory: 限制最高内存的请求数
limits.cpu 限制最高的cpu的limit上限
limits.memory 限制最高内存的limit上线
===========================================
上面resourcequota规则创建完成后,下面搞了一个deployment测试
[root@k8s-master01 ~]# cat nginxtest.yaml 
apiVersion: apps/v1   ##版本号 ,pod资源
kind: Deployment      ##类型/控制器
metadata:               		##数据标签
  name: nginx2-deployment
  labels:						##子标签
    app: nginx				##业务容器
spec:
  replicas: 3					##副本集
  selector:						##选择器
    matchLabels:				##匹配标签
      app: nginx					##对应上面的业务容器
  template:					##模板
    metadata:
      labels:
        app: nginx
    spec:
      containers:       ##容器
      - name: nginx     ##对应上面的业务容器
        image: nginx:1.18.0    ##使用镜像信息
        ports:
        - containerPort: 80      ##容器端口信息
---
apiVersion: v1        ##版本号
kind: Service        ##服务类型
metadata:
  name: nginx2-service
  labels:
    app: nginx
spec:
  type: NodePort     ##端口映射
  ports:
  - port: 80 		##内部端口
    targetPort: 80   ##映射端口
  selector:       ##选择器/
    app: nginx			##选择业务进行发布
=====================================================
 测试结果:有了resourcequota的限制,上面的deployment创建失败,删除限制则创建成功

LimitRange

3.1 引言

光靠ResourceQuota配置还是不行的,需要更细节化的限制;

那么LimitRange的出现就是在ResourceQuota的基础上更加细节化的限制资源使用。

只有ResourceQuota的限制还是不够

image

LimitRange做了什么

image

3.2配置示例

配置示例:
[root@k8s-master01 ResourceQuota]# cat limitrange.yaml 
apiVersion: v1
kind: LimitRange
metadata:
  name: cpu-mem-limit-range
spec:
  limits:
  - default:
      cpu: 1
      memory: 512Mi
    defaultRequest:
      cpu: 0.5
      memory: 256Mi
    type: Container
================================
➢ default:默认limits配置
➢ defaultRequest:默认requests配置

=========查看============================
[root@k8s-master01 ResourceQuota]# kubectl get LimitRange
NAME                  CREATED AT
cpu-mem-limit-range   2022-11-20T17:37:04Z

LimitRange配置示例:requests和limits的范围

3.3内存cpu限制

===================
[root@k8s-master01 ResourceQuota]# cat limitrange.yaml 
apiVersion: v1
kind: LimitRange
metadata:
  name: cpu-mem-limit-range
spec:
  limits:
  - default:
      cpu: 1
      memory: 512Mi
    defaultRequest:
      cpu: 0.5
      memory: 256Mi
    type: Container
    max:
      cpu: "1800m"
      memory: 1Gi
    min:
      cpu: "200m"
      memory: 200Mi
    type: Container
================
➢ max:内存CPU的最大配置
➢ min:内存CPU的最小配置

3.4 存储卷限制

​ 限制申请存储空间的大小

apiVersion: v1
kind: LimitRange
metadata:
  name: storagelimits
spec:
limits:
- type: PersistentVolumeClaim
  max:
    storage: 2Gi
  min:
    storage: 1Gi

标签:limits,##,memory,调度,limitRange,LimitRange,ResourceQuota,Resourcequota,cpu
From: https://www.cnblogs.com/zongliang-ya/p/16910200.html

相关文章

  • java——多线程——线程的调度
    线程调度:分时调度所有线程轮流使用CPU的使用权,平均分配每个线程占用CPU的时间。抢占式调度优先让优先级高的线程使用CPU,如果线程的优先级相同,那么会随机选择......
  • 【调度优化】基于遗传算法求解工件的并行调度组合优化问题附matlab代码
    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。......
  • 黏包现象,UPD基本代码使用,并发编程理论之操作系统发展史,多道技术,进程理论及调度算法
    目录黏包现象,UPD基本代码使用,并发编程理论之操作系统发展史,多道技术,进程理论及调度算法今日内容概要今日内容详细黏包现象struct模块黏包代码实战UDP协议并发编程理论多道......
  • Pod详解之Pod调度(污点和容忍)
    污点和容忍污点(Taints)前面的调度方式都是站在Pod的角度上,通过在Pod上添加属性,来确定Pod是否要调度到指定的Node上,其实我们也可以站在Node的角度上,通过在Node上添加污点......
  • Yarp 让系统内调度更灵活
    简介Yarp是微软团队开发的一个反向代理组件,除了常规的http和https转换通讯,它最大的特点是可定制化,很容易根据特定场景开发出需要的定制代理通道。详细介绍:https:/......
  • 数据集成平台关于【源平台调度&任务生命周期】
    任务调度者调度事件生产任务调度任务池-异步
AsynDispatcher--source实例化适配器执行消费任务实例化集成应用DataHubInstance
handleSourceDispatch()依赖注入集成方......
  • 数据集成平台关于【源平台调度&任务生命周期】
    任务调度者调度事件生产任务调度任务池-异步
AsynDispatcher--source实例化适配器执行消费任务实例化集成应用DataHubInstance
handleSourceDispatch()依......
  • 结对编程 电梯调度
    《软件工程基础》上机实验报告撰写要求 一、 纸张与页面要求1. 采用国际标准A4型打印纸或复印纸,纵向打印。2. 封页和页面按照下面模板书写(正文为:小四宋体1.5倍行......
  • Pod详解之Pod调度(亲和性调度)
    亲和性调度两种定向调度的方式,使用起来非常方便,但是也有一定的问题,那就是如果没有满足条件的Node,那么Pod将不会被运行,即使在集群中还有可用Node列表也不行,这就限制了它的......
  • Pod详解之Pod调度
    Pod调度在默认情况下,一个Pod在哪个Node节点上运行,是由Scheduler组件采用相应的算法计算出来的,这个过程是不受人工控制的。但是在实际使用中,这并不满足的需求,因为很多情况......