《OpenShift 4.x HOL教程汇总》
说明:本文已经在OpenShift 4.6环境中验证

文章目录

  • 优先级概念
  • 用PriorityClass定义优先级
    • 系统缺省PriorityClass
    • 自定义PriorityClass

优先级概念

一个 pod 的优先级表示这个 pod 相对于其他 pod 的重要性,OpenShift 会根据 Pod 的优先级确定分配运行资源的顺序。pod的优先级是其关联的PriorityClass对象定义的,在PriorityClass中用一个正整数指定优先级,数字越大,优先级越高。当 pod 被创建时会先被放入一个队列中等待调度。OpenShift会按照优先级从高到低的顺序为 pod分配运行资源。

  1. 如果node的资源充足,此时优先级高中低的 pod 都可运行。
  2. 如果node的资源不足以运行三个pod(且没有其它优先级低的pod),此时则OpenShift优先运行优先级高中的 pod,优先级低的 pod 需要等待可用的 node。
  3. 如果优先级中低的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 优先级相关推荐

  1. 容器编排技术 -- Kubernetes Pod 优先级和抢占

    容器编排技术 -- Kubernetes Pod 优先级和抢占 1 怎么样使用优先级和抢占 2 启用优先级和抢占 3 PriorityClass 3.1 PriorityClass 示例 4 Pod ...

  2. Kubernetes Pod 优先级和抢占

    全栈工程师开发手册 (作者:栾鹏) 架构系列文章 Kubernetes 1.8 及其以后的版本中可以指定 Pod 的优先级.优先级表明了一个 Pod 相对于其它 Pod 的重要性.当 Pod 无法被调 ...

  3. Openshift中Pod的SpringBoot2健康检查

    Openshift中Pod的SpringBoot2应用程序健康检查 1. 准备测试的SpringBoot工程, 需要Java 8 JDK or greater and Maven 3.3.x or g ...

  4. OpenShift 4 - Pod的亲和性/反亲和性

    <OpenShift 4.x HOL教程汇总> 文章目录 Pod的亲和性/反亲和性 方法1:直接指定Pod运行Node 方法2:通过设置Pod的nodeselector实现 方法3:通过设 ...

  5. OpenShift 4 - Pod是如何使用Serivce Account访问API的

    <OpenShift 4.x HOL教程汇总> 进入OpenShift自带的terminal项目的pod. $ oc rsh $(oc get pod -n terminal -l=app ...

  6. OpenShift / RHEL / DevSecOps 汇总目录

    文章目录 OpenShift / RHEL / DevSecOps 汇总目录 OpenShift 入门 OpenShift 安装 免费线上环境 CRC单机环境 MicroShift Online安装 ...

  7. 解密OpenShift内部通信网络

    上一篇:PaaS中OpenShift持久化存储的管理实践 由于 OpenShift 网络通信概念较多,相对理解起来困难,为了方便读者能够清晰深入内部,在开始网络模型讲解之前,我们先尝试从 OpenSh ...

  8. 8s pod 查看 的yaml_k8s之深入解剖Pod(三)

    目录: Pod的调度 Pod的扩容和缩容 Pod的滚动升级 一.Pod的调度 Pod只是容器的载体,通常需要通过RC.Deployment.DaemonSet.Job等对象来完成Pod的调度和自动控制 ...

  9. 【Kubernetes | Pod 系列】Pod 的基本管理(2)——对 Pod 的查询

    目录 2.2 查看 Pod (1)查看当前名字空间的 Pod 参数说明 (2)查看指定名字空间的 Pod (3)查看所有名字空间的 Pod (4)查看 Pod 详细信息 参数说明 (5)获得一个 Po ...

最新文章

  1. Linux-LAMP-访问控制Directory
  2. 每日一皮:给老板演示刚做好的功能...
  3. linux系统安装tv软件下载,达龙云电脑apk下载
  4. Html页面上输出不了PHP,在页面上直接输出未经解析的HTML源码
  5. java实用教程——组件及事件处理——处理事件
  6. 我想创业,但不懂技术怎么办
  7. 网络地址16777343是什么地址?
  8. 使用JS完成一个简单的计算器功能
  9. 【学习笔记】用Excel制作随机抽奖器(Visual Basic编程)。
  10. 利用python从《牛津高阶英汉词典》里提取单词列表
  11. A-PDF Watermark
  12. iphone6s读写速度测试软件,iPhone6S/7/8运行iOS13速度测试:结果有点失望
  13. 最新 | Windows和信创终端都能顺滑使用宁盾802.1X账密认证了
  14. oracle 临时表空间语句,oracle的临时表空间
  15. html点击按钮弹出悬浮窗_点击文字或按钮弹出一个DIV窗口(DIV悬浮窗口)
  16. HTML代码实现符号及商标
  17. mysql数据库之ddl语句盘点
  18. linux shell 输出红色,Bash Shell怎么打印各种颜色
  19. 【转载】Amit’s A star Page 中译文
  20. 这可能是人工智能领域覆盖最全的一份技术趋势报告

热门文章

  1. 如何用python画哆啦爱梦_python3 turtle 绘制哆啦A梦
  2. oracle老报604和10275,翻出来了 老东西了 , oracle 数据库解析 extent 数据结构解析...
  3. 数字化转型方法论_50+企业数字化转型、管理的方法论,这本书到底有什么干货?...
  4. android设置屏幕高度和宽度设置,Android手机的屏幕宽高度和代码设置控件的宽高度...
  5. pythonfor循环是迭代器吗_[Python] 迭代器是什么?你每天在用的for循环都依赖它!...
  6. 的ppt_PPT制作小白,如和做好PPT
  7. 定位属性的布局网页html,css布局基础:定位综合练习
  8. 个人支付源码_[5G时代投资风口源码修复版] 投资区块链+订制UI完美版+对接免签支付+自带发圈推广任务奖励+视频教程...
  9. 设计灵感|如何做好网页后台数据展示的设计?
  10. 【海报设计灵感】潮翻天的波普艺术海报设计