Kubernetes高级调度:Pod优先级与污点容忍度详解
在Kubernetes的世界里,高级调度是确保资源高效利用和关键工作负载稳定运行的重要手段。本文将深入探讨Kubernetes中的Pod优先级和污点容忍度这两个重要特性,通过详细的解释和实际操作示例,帮助你更好地理解和运用这些特性。
Pod优先级
Kubernetes允许为Pod关联一个优先级。当资源有限时,如果请求调度一个高优先级的新Pod,Kubernetes调度器可能会驱逐低优先级的Pod,以便为新的高优先级Pod腾出空间。
例如,在一个银行的Kubernetes集群中,支付服务和银行网站是两种不同的工作负载。显然,处理支付业务比运行网站更为重要。通过配置Pod优先级,可以防止低优先级的工作负载影响集群中的关键工作负载,特别是当集群开始接近其资源容量时。这种驱逐低优先级Pod以调度更关键Pod的技术,比添加额外节点更快,并且有助于更好地管理集群上的流量高峰。
优先级类(PriorityClass)
为Pod关联优先级的方法是定义一个名为PriorityClass的对象。该对象包含一个介于1到10亿之间的数字表示优先级,数字越大,优先级越高。定义好优先级类后,通过将PriorityClass与Pod关联,为Pod分配优先级。默认情况下,如果Pod没有关联优先级类,它将被分配默认优先级类(如果可用),或者优先级值为0。
可以使用以下命令获取优先级类的列表:
kubectl get priorityclasses
示例输出如下:
|
超级会员免费看
订阅专栏 解锁全文
49

被折叠的 条评论
为什么被折叠?



