当前位置: 首页 > news >正文

tag做的最好的网站南通网站建设有限公司

tag做的最好的网站,南通网站建设有限公司,优秀网站设计模板,建站宝盒设置文章目录 资源模型QoS 模型GPU 管理 资源模型 在 Kubernetes 里,Pod 是最小的原子调度单位。这也就意味着,所有跟调度和资源管理相关的属性都应该是属于 Pod 对象的字段。而这其中最重要的部分,就是 Pod 的 CPU 和内存配置,如下所…

文章目录

    • 资源模型
    • QoS 模型
    • GPU 管理

资源模型

  • 在 Kubernetes 里,Pod 是最小的原子调度单位。这也就意味着,所有跟调度和资源管理相关的属性都应该是属于 Pod 对象的字段。而这其中最重要的部分,就是 Pod 的 CPU 和内存配置,如下所示:
apiVersion: v1
kind: Pod
metadata:name: frontend
spec:containers:- name: dbimage: mysqlenv:- name: MYSQL_ROOT_PASSWORDvalue: "password"resources:requests:memory: "64Mi"cpu: "250m"limits:memory: "128Mi"cpu: "500m"- name: wpimage: wordpressresources:requests:memory: "64Mi"cpu: "250m"limits:memory: "128Mi"cpu: "500m"
  • 在 Kubernetes 中,像 CPU 这样的资源被称作“可压缩资源”(compressible resources)。它的典型特点是,当可压缩资源不足时,Pod 只会“饥饿”,但不会退出。而像内存这样的资源,则被称作“不可压缩资源(incompressible resources)。当不可压缩资源不足时,Pod 就会因为 OOM(Out-Of-Memory)被内核杀掉。
  • Pod 可以由多个 Container 组成,所以 CPU 和内存资源的限额,是要配置在每个 Container 的定义上的。这样,Pod 整体的资源配置,就由这些 Container 的配置值累加得到。
    • Kubernetes 里为 CPU 设置的单位是“CPU 的个数”。比如,cpu=1 指的就是,这个 Pod 的 CPU 限额是 1 个 CPU。当然,具体“1 个 CPU”在宿主机上如何解释,是 1 个 CPU 核心,还是 1 个 vCPU,还是 1 个 CPU 的超线程(Hyperthread),完全取决于宿主机的 CPU 实现方式。Kubernetes 只负责保证 Pod 能够使用到“1 个 CPU”的计算能力。Kubernetes 允许你将 CPU 限额设置为分数。当然,你可以直接把这个配置写成 cpu=0.5。但在实际使用时,推荐使用 500m 的写法,毕竟这才是 Kubernetes 内部通用的 CPU 表示方式。
    • Kubernetes 里对于内存资源来说,它的单位自然就是 bytes。Kubernetes 支持使用 Ei、Pi、Ti、Gi、Mi、Ki(或者 E、P、T、G、M、K)的方式来作为 bytes 的值。比如,在上面的例子里,Memory requests 的值就是 64MiB (2 的 26 次方 bytes) 。这里要注意区分 MiB(mebibyte)和 MB(megabyte)的区别。备注:1Mi=1024*1024;1M=1000*1000
  • Kubernetes 里 Pod 的 CPU 和内存资源,实际上还要分为 limits 和 requests 两种情况,如下所示:
spec.containers[].resources.limits.cpu
spec.containers[].resources.limits.memory
spec.containers[].resources.requests.cpu
spec.containers[].resources.requests.memory
  • 两者的区别:在调度的时候,kube-scheduler 只会按照 requests 的值进行计算。而在真正设置 Cgroups 限制的时候,kubelet 则会按照 limits 的值来进行设置。

QoS 模型

  • Kubernetes 中,不同的 requests 和 limits 的设置方式,其实会将这个 Pod 划分到不同的 QoS 级别当中。
    • 当 Pod 里的每一个 Container 都同时设置了 requests 和 limits,并且 requests 和 limits 值相等的时候,这个 Pod 就属于 Guaranteed 类别。
    • 当 Pod 不满足 Guaranteed 的条件,但至少有一个 Container 设置了 requests。那么这个 Pod 就会被划分到 Burstable 类别。
    • 当一个 Pod 既没有设置 requests,也没有设置 limits,那么它的 QoS 类别就是 BestEffort
  • QoS 划分的主要应用场景,是当宿主机资源紧张的时候,kubelet 对 Pod 进行 Eviction(即资源回收)时需要用到的
  • 当 Kubernetes 所管理的宿主机上不可压缩资源短缺时,就有可能触发 Eviction。比如,可用内存(memory.available)、可用的宿主机磁盘空间(nodefs.available),以及容器运行时镜像存储空间(imagefs.available)等等。
  • Eviction 在 Kubernetes 里其实分为 Soft 和 Hard 两种模式。
    • Soft Eviction 允许你为 Eviction 过程设置一段“优雅时间”,比如 imagefs.available=2m,就意味着当 imagefs 不足的阈值达到 2 分钟之后,kubelet 才会开始 Eviction 的过程。
    • Hard Eviction 模式下,Eviction 过程就会在阈值达到之后立刻开始。
  • 当 Eviction 发生的时候,kubelet 具体会挑选哪些 Pod 进行删除操作,就需要参考这些 Pod 的 QoS 类别了。
    • 首当其冲的,自然是 BestEffort 类别的 Pod。
    • 其次,是属于 Burstable 类别、并且发生“饥饿”的资源使用量已经超出了 requests 的 Pod。
    • 最后,才是 Guaranteed 类别。并且,Kubernetes 会保证只有当 Guaranteed 类别的 Pod 的资源使用量超过了其 limits 的限制,或者宿主机本身正处于 Memory Pressure 状态时,Guaranteed 的 Pod 才可能被选中进行 Eviction 操作。
  • 当然,对于同 QoS 类别的 Pod 来说,Kubernetes 还会根据 Pod 的优先级来进行进一步地排序和选择。

cpuset 的设置

  • 在使用容器的时候,可以通过设置 cpuset 把容器绑定到某个 CPU 的核上,而不是像 cpushare 那样共享 CPU 的计算能力。这种情况下,由于操作系统在 CPU 之间进行上下文切换的次数大大减少,容器里应用的性能会得到大幅提升。事实上,cpuset 方式,是生产环境里部署在线应用类型的 Pod 时,非常常用的一种方式
  • 在 Kubernetes 里又该如何实现呢?首先,你的 Pod 必须是 Guaranteed 的 QoS 类型;然后,你只需要将 Pod 的 CPU 资源的 requests 和 limits 设置为同一个相等的整数值即可。这时候,该 Pod 就会被绑定在 独占的 CPU 核上。当然,具体是哪个 CPU 核,是由 kubelet 分配的。

在实际的使用中,强烈建议你将 DaemonSet 的 Pod 都设置为 Guaranteed 的 QoS 类型。否则,一旦 DaemonSet 的 Pod 被回收,它又会立即在原宿主机上被重建出来,这就使得前面资源回收的动作,完全没有意义了。

GPU 管理

  • 后续补充…

你知道的越多,你不知道的越多。

http://www.yayakq.cn/news/67328/

相关文章:

  • 用国外服务器做网站网站188建站系统源码
  • 淄博网上商城制作威海网站seo
  • 大气网站设计注册小公司
  • 安徽建筑信息平台seo排名推广工具
  • 网站建设一般字体多大深圳vi设计公司推荐
  • 1_ 掌握网站开发的基本流程 要求:熟悉网站开发与设计的基本流程.培训机构连锁加盟
  • 广东地区建网站的公司天津小型企业网站设计
  • 张家港市住房和城乡建设局网站网站建设公司简介模板下载
  • 家具定制东莞网站建设wordpress 文章 新窗口
  • 旅游网站设计广告联盟没有网站怎么做
  • 无锡企业网站的建设重庆塔吊证查询网站
  • 定制专业网站阿里企业的网站建设
  • 阜阳网站设计开源众包官网兼职平台
  • app软件开发网站做网站前后端的发布流程
  • wordpress建站的好处珠海室内设计学校
  • 企业网站建设立项请示网站首页权重
  • 制作企业网站页面代码摄影 开课吧南通制作网站的有哪些公司吗
  • 永康市住房和城乡建设局网站杭州网站制作平台公司
  • 做软件常用的网站有哪些软件有哪些郑州公司注册网上核名
  • 中国营销型网站wordpress禁止百度转码
  • 做电商网站前期做什么工作重庆网站建设营销
  • 计算机网站开发要考什么证做爰全过程免费的视频99网站
  • 个人备案网站百度收录网站建设电脑端手机端
  • 唱片公司网站模板中关村丰台园
  • 北京泵网站建设关于公司建网站
  • 公司主页网站开发自己给自己网站做seo
  • 郑州建网站费用wordpress调整宽度
  • 国外翻墙设计网站邢台市教育局官网
  • 新手做网站如何赚钱微商城分销平台上线
  • 美的地产集团官方网站建设网络策划是做什么的工作