kubernetes之QoS资源管理

编程入门 行业动态 更新时间:2024-10-10 13:13:09

kubernetes之QoS<a href=https://www.elefans.com/category/jswz/34/1755980.html style=资源管理"/>

kubernetes之QoS资源管理

一、引导语

  如果把整个云环境比作一片海洋,kubernetes是管理成千上万艘船只的掌舵人,它管理的船员(容器)可能上千万,每个船员都不一样,总有几个调皮捣蛋的,那么kubernetes是怎么管理这些容器的,如果一台宿主机上某个容器突然资源占用过高,kubernetes应该如何分配保证上面的核心应用可用,服务降级防止雪崩。带着这些问题,咱们来一起看一下kubernetes是如何实现资源管理的。

二、Kubernetes中的Node Allocatable

  1)概述

  一个kubernetes集群,默认情况下pod是使用节点中的全部资源,如果没有给node分配足够的资源,会出现这些pod与系统守护进程或kubelet进程等资源争抢的问题,导致整个node节点资源短缺或不可用的情况。

  在kubernetes中把资源分为allocatable(宿主机上pods资源)、eviction-threshold(节点驱逐阈值)、system-reserved(节点资源预留值)、kube-reserved(kubernetes守护进程如kubelet等),node allocatable是kubernetes API中资源对象的一种,调度器会根据每个节点上node allocatable的使用情况分配pod,调度器不会超额申请过多的资源。结构图如下所示:

  一个集群中某个节点的pod可分配量公式如下:

 Allocatable = Node Capacity - (kube-reserved) - (system-reserved) - (eviction-threshold)

  可以看到一个节点的pods可用资源需要排除kubernetes为系统预留资源、kubelet守护进程、驱逐阈值这三部分的资源,剩下的就是这个节点真正可以为pod所分配的资源。

  2)pod的QoS

  Kubernetes为每个节点分配了可用资源,那么每个pod的级别是相同的吗?答案是否定的,kubernetes为pod会分配不同级别的角色,像一个国王会分一等公民、二等公民、自由人,如果发生饥荒,比如资源短缺,kubernetes会先把资源分配给最优先的公民,保证它可用。Kubernetes中pod的级别具体划分为:Guaranteed、Burstable、BestEffort三种。

更多推荐

kubernetes之QoS资源管理

本文发布于:2024-02-06 04:28:17,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1746299.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:资源管理   kubernetes   QoS

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!