概述

kubernetes 是一个集群管理平台, kubernetes需要统计整体平台的资源使用情况, 合理的将资源分配给容器使用, 并保证容器生命周期内有足够的资源来保证其运行. 同时, 如果资源发放是独占的, 对于空闲的容器来说占用这没有使用的资源是非常浪费的, 比如CPU。k8s需要考虑如何在优先度和公平性的前提下提供资源的利用率。

为了实现资源被有效调度和分配时同时提高资源 的利用率, k8s采用request和limit两种限制类型对资源进行分配。

limit/request 限制类型介绍

request

  • 容器使用的最小资源需求, 作为容器调度时资源分配的判断依赖。
  • 只有当前节点上可分配的资源量 >= request 时才允许将容器调度到该节点。
  • request参数不限制容器的最大可使用资源

limit

  • 容器能使用资源的最大值
  • 设置为0表示对使用的资源不做限制, 可无限的使用

request 和 limit 关系

request能保证pod有足够的资源来运行, 而limit则是防止某个pod无限制的使用资源, 导致其他pod崩溃. 两者的关系必须满足:

0 <= request <= limit

如果limit=0表示不对资源进行限制, 这时可以小于request。

目前CPU支持设置request和limit,memory只支持设置request, limit必须强制等于request, 这样确保容器不会因为内存的使用量超过request但是没有超过limit的情况下被意外kill掉。

limit/request使用示例

--- apiVersion: apps/v1beta2 kind: Deployment metadata: name: nginx namespace: php labels: app: nginx spec: revisionHistoryLimit: 10 strategy: type: RollingUpdate selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:latest ports: - containerPort: 80 protocol: TCP resources: requests: cpu: 0.5 memory: 1024Mi limits: cpu: 1 memory: 2048Mi ---  apiVersion: autoscaling/v1 kind: HorizontalPodAutoscaler metadata: name: nginx labels: app: nginx spec: scaleTargetRef: apiVersion: extensions/v1beta1 kind: Deployment name: nginx minReplicas: 2 maxReplicas: 4 targetCPUUtilizationPercentage: 80

参考

  • Kubernetes 资源分配之 Request 和 Limit 解析

本文转自SegmentFault-Kubernetes资源分配(limit/request)

Kubernetes资源分配(limit/request)相关推荐

  1. 微博报错:Ip Limit, request ip is not contained in safety ip error_code:10004/2/status

    微博授权后,测试发送时报错: Caused by: weibo4j.model.WeiboException: 400:The request was invalid. An accompanying ...

  2. kubenerte启动_Kubenertes资源分配之Request和Limit解析

    Kubernetes是一个容器集群管理平台,Kubernetes需要统计整体平台的资源使用情况,合理地将资源分配给容器使用,并且要保证容器生命周期内有足够的资源来保证其运行. 同时,如果资源发放是独占 ...

  3. [问题未处理]-kubernetes报错request canceled (Client.Timeout exceeded while awaiting headers)

    kubernetes 上执行journalctl -f -u kube-controller-manager node1 正常 但是node2会报错 日志偶尔有报错如下 Dec 12 14:04:29 ...

  4. 【Kubernetes】k8s的安全管理详细说明【SA配置、k8s安装dashboard、资源限制(resource、limit、resourcequota)】

    文章目录 环境准备 token验证&&kubeconfig验证 role和clusterrole赋权 sa[Service Account] sa总结 1.service accoun ...

  5. 带你快速了解 Docker 和 Kubernetes

    作者:honghaohu,腾讯 PCG 后台开发工程师 从单机容器化技术 Docker 到分布式容器化架构方案 Kubernetes,当今容器化技术发展盛行.本文面向小白读者,旨在快速带领读者了解 D ...

  6. 运行支持kubernetes原生调度的Spark程序

    全栈工程师开发手册 (作者:栾鹏) 架构系列文章 Spark 概念说明 Apache Spark 是一个围绕速度.易用性和复杂分析构建的大数据处理框架.最初在2009年由加州大学伯克利分校的AMPLa ...

  7. ultimate grid_Ultimate Kubernetes资源规划指南

    ultimate grid Understanding allocatable CPU/memory on Kubernetes nodes and optimizing resource usage ...

  8. Kubernetes进阶使用(三)—— 资源限制RBAC多账户

    一.kubernetes资源限制 参考自:https://kubernetes.io/zh/docs/ k8s采用request和limit两种限制类型来对资源进行分配 request(资源需求):即 ...

  9. kubernetes资源监控(一)——k8s容器资源限制

    一 限制范围 默认情况下, Kubernetes 集群上的容器运行使用的计算资源没有限制. 使用资源配额,集群管理员可以以名字空间为单位,限制其资源的使用与创建. 在命名空间中,一个 Pod 或 Co ...

最新文章

  1. 数组-sort,reverse
  2. Virtual Box 工具栏(菜单栏)消失的解决方法
  3. java script 遍历数组_JavaScript中数组中遍历的方法
  4. 2011年1月1日,开篇,起点。
  5. vc简易网络服务器、客户端实现
  6. javascript --- 文件上传即时预览 闭包实现多图片即时预览
  7. 混淆矩阵(TP+FN+FP+TN)
  8. 排序算法1:最快最简单的排序——桶排序(C++版本)
  9. saltstack管理二之saltstack的安装
  10. 网站服务器无返回数据,服务器无返回数据处理
  11. 计算机网络投标书质量保证措施,计算机网络标书模板.doc
  12. FileZillaServer创建FTP服务器
  13. Windows Server AppFabric与WCF
  14. ChinaITLab-Linux工程师培训课程笔记1
  15. bootstrap日期插件daterangepicker的使用
  16. Promise详尽指南
  17. R平方值python实现
  18. 《Linear Graph Convolutional Model for Diagnosing Brain Disorders Zarina》阅读笔记
  19. 开篇“给自己定一个目标,明年7月去实现。希望不是一时的兴起。”
  20. oracle通过什么命令释放锁,oracle检测锁,释放锁

热门文章

  1. 计算机中文件访问时间是什么情况,【反计算机取证必看】Windows系统中文件时间属性的变化及影响因素.pdf...
  2. java blob转为图片_导出的图片为什么会糊?!
  3. C++STL笔记(五):Deque详解
  4. 计算机上配置的网卡实际上是,()计算机上配置的网卡,实质上是_ ___。
  5. 计算机学院品牌活动,安阳师范学院 计算机学院成功举办校园文化品牌活动“一月一赛”之三笔字比赛...
  6. DSP中两个延时函数的区别(转)
  7. 严格对角占优矩阵特征值_盖尔金圆定理及严格对角占优矩阵(SDD)
  8. python gui 框架中显示gif_使用QLab在PyQt GUI中显示gif
  9. python元素相邻_在python中,如何根据键(相邻组)将元素分组在...
  10. anconda设置镜像源_三、DockerFile 定制属于自己的专属镜像