温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Ubuntu在Kubernetes中的资源调度优先级设置

发布时间:2024-11-03 13:43:25 来源:亿速云 阅读:83 作者:小樊 栏目:大数据

在Kubernetes中,资源调度优先级的设置并不直接与操作系统(如Ubuntu)相关,而是通过PriorityClass对象来实现的。PriorityClass是一个Kubernetes对象,用于设置Pod的优先级。以下是关于Kubernetes中资源调度优先级设置的相关信息:

PriorityClass对象

  • 定义:PriorityClass对象定义了优先级类名与优先级整数值的映射。
  • 使用:在Pod规范中通过priorityClassName字段引用PriorityClass对象的名称来设置Pod的优先级。
  • 示例
apiVersion: scheduling.k8s.io/v1
kind: PriorityClass
metadata:
  name: high-priority-apps
value: 1000000
preemptionPolicy: PreemptLowerPriority
globalDefault: false
description: "Mission Critical apps."

抢占策略

  • 默认策略:Kubernetes的默认抢占策略是PreemptLowerPriority,意味着调度器会尝试从节点上驱逐(抢占)优先级较低的Pod,以便为优先级更高的Pod腾出资源。
  • 优雅终止期:被抢占的Pod会有一个默认的优雅终止期(30秒),在此期间,Pod会尝试完成当前任务并退出。

系统关键性Pod的优先级类

  • system-node-critical:值为2000001000,用于保护系统关键型Pod,如etcd、kube-apiserver等。
  • system-cluster-critical:值为2000000000,用于保护集群关键型Pod,如coredns、calico controller等。

注意事项

  • 优先级类的值必须是非负整数,且最大值不超过1000000000。
  • 优先级类的值越大,表示Pod的优先级越高。
  • 如果不希望Pod被抢占,可以在Pod规范中设置preemptionPolicy: Never

通过合理地设置PriorityClass,可以确保在资源紧张时,关键任务能够获得必要的资源,同时通过抢占策略优化集群的资源利用率。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI