OpenShift 4 - Pod 优先级
《OpenShift 4.x HOL教程汇总》
说明:本文已经在OpenShift 4.6环境中验证
文章目录
- 优先级概念
- 用PriorityClass定义优先级
- 系统缺省PriorityClass
- 自定义PriorityClass
优先级概念
一个 pod 的优先级表示这个 pod 相对于其他 pod 的重要性,OpenShift 会根据 Pod 的优先级确定分配运行资源的顺序。pod的优先级是其关联的PriorityClass对象定义的,在PriorityClass中用一个正整数指定优先级,数字越大,优先级越高。当 pod 被创建时会先被放入一个队列中等待调度。OpenShift会按照优先级从高到低的顺序为 pod分配运行资源。
- 如果node的资源充足,此时优先级高中低的 pod 都可运行。
- 如果node的资源不足以运行三个pod(且没有其它优先级低的pod),此时则OpenShift优先运行优先级高中的 pod,优先级低的 pod 需要等待可用的 node。
- 如果优先级中低的pod已经运行在node中,此时优先级高的pod等待运行,OpenShift会将优先级低的pod从节点驱逐走,然后在运行优先级高的pod。
用PriorityClass定义优先级
系统缺省PriorityClass
在OpenShift中有2种缺省系统级别的PriorityClass。我们可以执行以下命令查看他们,他们的优先数值分别为2000000000和2000001000。
$ oc get priorityclasses
NAME VALUE GLOBAL-DEFAULT AGE
system-cluster-critical 2000000000 false 44d
system-node-critical 2000001000 false 44d
执行以下命令,可以看到sdn的pod使用的上面两种优先级非常高的系统PriorityClass,这样就能保证即便出现node资源非常紧张的情况,也会保障这些pod被优先运行。
$ oc get pods -o custom-columns=NAME:.metadata.name,PRIORITY:.spec.priorityClassName -n openshift-sdn
NAME PRIORITY
ovs-48949 system-node-critical
ovs-5k4bj system-node-critical
ovs-gsvhh system-node-critical
ovs-h6td2 system-node-critical
ovs-zvjc9 system-node-critical
sdn-69hxq system-node-critical
sdn-6pmth system-node-critical
sdn-9gt4p system-node-critical
sdn-controller-fzczj system-cluster-critical
sdn-controller-sh9lp system-cluster-critical
sdn-controller-zhngr system-cluster-critical
sdn-k5n9b system-node-critical
sdn-vp8zj system-node-critical
自定义PriorityClass
如果不给pod指定优先级,则OpenShift会将它的优先级设为“None”,优先数值是最低的“0”。我们可以创建其他优先级PriorityClass,定制优先级的优先数值最大为10亿。
执行命令创建一个名为high-priority的PriorityClass。
$ oc create priorityclass high-priority --value=1000 --description="high priority"
$ oc get priorityclass high-priority
NAME VALUE GLOBAL-DEFAULT AGE
high-priority 1000 false 33s
创建nginx.yaml文件,其中使用了上面定义的名为high-priority的PriorityClass。
apiVersion: v1
kind: Pod
metadata:name: nginxlabels:env: test
spec:containers:- name: nginximage: nginximagePullPolicy: IfNotPresentpriorityClassName: high-priority
执行以下命令,先创建pod,然后查看运行起来的pod,确认它使用了high-priority优先级。
$ oc get pods/nginx -o custom-columns=NAME:.metadata.name,PRIORITY:.spec.priorityClassName
NAME PRIORITY
nginx high-priority
OpenShift 4 - Pod 优先级相关推荐
- 容器编排技术 -- Kubernetes Pod 优先级和抢占
容器编排技术 -- Kubernetes Pod 优先级和抢占 1 怎么样使用优先级和抢占 2 启用优先级和抢占 3 PriorityClass 3.1 PriorityClass 示例 4 Pod ...
- Kubernetes Pod 优先级和抢占
全栈工程师开发手册 (作者:栾鹏) 架构系列文章 Kubernetes 1.8 及其以后的版本中可以指定 Pod 的优先级.优先级表明了一个 Pod 相对于其它 Pod 的重要性.当 Pod 无法被调 ...
- Openshift中Pod的SpringBoot2健康检查
Openshift中Pod的SpringBoot2应用程序健康检查 1. 准备测试的SpringBoot工程, 需要Java 8 JDK or greater and Maven 3.3.x or g ...
- OpenShift 4 - Pod的亲和性/反亲和性
<OpenShift 4.x HOL教程汇总> 文章目录 Pod的亲和性/反亲和性 方法1:直接指定Pod运行Node 方法2:通过设置Pod的nodeselector实现 方法3:通过设 ...
- OpenShift 4 - Pod是如何使用Serivce Account访问API的
<OpenShift 4.x HOL教程汇总> 进入OpenShift自带的terminal项目的pod. $ oc rsh $(oc get pod -n terminal -l=app ...
- OpenShift / RHEL / DevSecOps 汇总目录
文章目录 OpenShift / RHEL / DevSecOps 汇总目录 OpenShift 入门 OpenShift 安装 免费线上环境 CRC单机环境 MicroShift Online安装 ...
- 解密OpenShift内部通信网络
上一篇:PaaS中OpenShift持久化存储的管理实践 由于 OpenShift 网络通信概念较多,相对理解起来困难,为了方便读者能够清晰深入内部,在开始网络模型讲解之前,我们先尝试从 OpenSh ...
- 8s pod 查看 的yaml_k8s之深入解剖Pod(三)
目录: Pod的调度 Pod的扩容和缩容 Pod的滚动升级 一.Pod的调度 Pod只是容器的载体,通常需要通过RC.Deployment.DaemonSet.Job等对象来完成Pod的调度和自动控制 ...
- 【Kubernetes | Pod 系列】Pod 的基本管理(2)——对 Pod 的查询
目录 2.2 查看 Pod (1)查看当前名字空间的 Pod 参数说明 (2)查看指定名字空间的 Pod (3)查看所有名字空间的 Pod (4)查看 Pod 详细信息 参数说明 (5)获得一个 Po ...
最新文章
- Linux-LAMP-访问控制Directory
- 每日一皮:给老板演示刚做好的功能...
- linux系统安装tv软件下载,达龙云电脑apk下载
- Html页面上输出不了PHP,在页面上直接输出未经解析的HTML源码
- java实用教程——组件及事件处理——处理事件
- 我想创业,但不懂技术怎么办
- 网络地址16777343是什么地址?
- 使用JS完成一个简单的计算器功能
- 【学习笔记】用Excel制作随机抽奖器(Visual Basic编程)。
- 利用python从《牛津高阶英汉词典》里提取单词列表
- A-PDF Watermark
- iphone6s读写速度测试软件,iPhone6S/7/8运行iOS13速度测试:结果有点失望
- 最新 | Windows和信创终端都能顺滑使用宁盾802.1X账密认证了
- oracle 临时表空间语句,oracle的临时表空间
- html点击按钮弹出悬浮窗_点击文字或按钮弹出一个DIV窗口(DIV悬浮窗口)
- HTML代码实现符号及商标
- mysql数据库之ddl语句盘点
- linux shell 输出红色,Bash Shell怎么打印各种颜色
- 【转载】Amit’s A star Page 中译文
- 这可能是人工智能领域覆盖最全的一份技术趋势报告
热门文章
- 如何用python画哆啦爱梦_python3 turtle 绘制哆啦A梦
- oracle老报604和10275,翻出来了 老东西了 , oracle 数据库解析 extent 数据结构解析...
- 数字化转型方法论_50+企业数字化转型、管理的方法论,这本书到底有什么干货?...
- android设置屏幕高度和宽度设置,Android手机的屏幕宽高度和代码设置控件的宽高度...
- pythonfor循环是迭代器吗_[Python] 迭代器是什么?你每天在用的for循环都依赖它!...
- 的ppt_PPT制作小白,如和做好PPT
- 定位属性的布局网页html,css布局基础:定位综合练习
- 个人支付源码_[5G时代投资风口源码修复版] 投资区块链+订制UI完美版+对接免签支付+自带发圈推广任务奖励+视频教程...
- 设计灵感|如何做好网页后台数据展示的设计?
- 【海报设计灵感】潮翻天的波普艺术海报设计