OpenShift 4 - 就地调整 Pod 资源使用量

news2024/11/26 9:40:38

《OpenShift / RHEL / DevSecOps 汇总目录》
说明:本文已经在 OpenShift 4.14 的环境中验证

文章目录

  • 为什么需要就地调整 Pod 资源
  • 启动 InPlacePodVerticalScaling 特性
  • 实现就地调整 Pod 资源
  • 参考

为什么需要就地调整 Pod 资源

以往在 Kubernetes 中调整 Pod 的 CPU 和内存资源的过程需要创建一个新的 Pod 来替换原有 Pod,不过在 Kubernetes 1.27.以及 OpenShift 4.14 版本开始支持原地调整 Pod 使用的资源。

在原有 Pod 就地调整资源具备以下优势:

  • 减少停机时间:重新创建 Pod 以调整其资源可能会导致停机,特别是如果 Pod 是 StatefulSet 的一部分或正在处理关键任务时。就地调整 Pod 大小可减少停机时间,确保更顺畅的运行。
  • 高效利用资源:资源配置过多会造成浪费,而资源配置不足则会导致性能问题。动态调整大小可确保根据实时需求高效使用资源。
  • 节约成本:高效的资源利用可以节约成本,尤其是在云环境中,使用多少资源就要支付多少费用。
  • 简化操作:无需手动干预和重新创建 Pod 或调整部署配置。这简化了运营开销。

启动 InPlacePodVerticalScaling 特性

为了在 OpenShift 中使用就地调整 Pod 资源的功能,需要先通过 FeatureGate 启动相关功能。

  1. 在 OpenShift 管理控制台进入“管理->集群设置”,在 “配置” 中查找 “featuregate”,然后进入 FeatureGate。
    在这里插入图片描述
  2. 在 FeatureGate 的 YAML 中增加以下部分,然后保存。
spec:
  customNoUpgrade:
    enabled:
      - InPlacePodVerticalScaling
      - BuildCSIVolumes
      - CloudDualStackNodeIPs
      - OpenShiftPodSecurityAdmission
  featureSet: CustomNoUpgrade

在这里插入图片描述

实现就地调整 Pod 资源

  1. 执行命令创建测试 Pod,其中设置了 cpu 和 memory 使用量。
$ cat << EOF | oc apply -f -
apiVersion: v1
kind: Pod
metadata:
  name: resizeme
spec:
  containers:
  - name: resizeme
    image: ubi9/ubi
    command: ["tail", "-f", "/dev/null"]
    resources:
      requests:
        cpu: 1
        memory: "512Mi"
      limits:
        cpu: 2
        memory: "1Gi"
EOF
  1. 执行命令查看 Pod 的 resizePolicy,确认 restartPolicy 缺省都是 NotRequired。
$ oc get pod resizeme -ojsonpath="{.spec.containers[0].resizePolicy}" | jq
[
  {
    "resourceName": "cpu",
    "restartPolicy": "NotRequired"
  },
  {
    "resourceName": "memory",
    "restartPolicy": "NotRequired"
  }
]
  1. 执行命令修改 Pod 使用的资源,将 cpu 调整为 2。
$ oc patch pod resizeme -p ' {"spec": {"containers": [{"name": "resizeme", "resources": { "requests" :{ "cpu" : 2, "memory": "512Mi"}, "limits" :{ "cpu" : 2, "memory" : "1Gi" } } }] }}'
  1. 执行命令查看 resize 的状态。InProgress 为正在进行中,成功完成后将没有返回。
$ oc get pods resizeme -o jsonpath="{.status.resize}{'\n'}"
InProgress
  1. 执行命令查看 Pod 使用资源,可以看到 Pod 可使用的 cpu 已经调整为 2。
$ oc get pod resizeme -ojsonpath="{.status.containerStatuses[0].resources}" | jq
{
  "limits": {
    "cpu": "2",
    "memory": "1Gi"
  },
  "requests": {
    "cpu": "2",
    "memory": "512Mi"
  }
}
  1. 也可在 Pod 的指标界面中可以看到 Pod 可使用的 cpu 已经调整为 2。
    在这里插入图片描述

参考

https://cloud.redhat.com/blog/in-place-resource-resize-of-openshift-pod-spec
https://kubernetes.io/docs/reference/command-line-tools-reference/feature-gates/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1219380.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

事务死锁排查

记一次 事务死锁的排查过程 首先使用 SELECT * FROM INFORMATION_SCHEMA.INNODB_TRX;可以查看当前数据库所有事务状态 使用 SHOW ENGINE INNODB STATUS可以查看一些事务状态 可以看出 trxId 565678168 锁住了 invoice表&#xff0c; 使用命令杀掉对应mysql线程&#xff0…

跟李沐学AI-深度学习课程00-03【预告、课程安排、深度学习介绍、安装】

目录 00 预告 01 课程安排 02 深度学习介绍 03 安装 本地安装 04 数据操作数据预处理 数据操作 数据类型 创建数组 访问元素 数据操作实现 入门 运算符 广播机制 索引和切片 节省内存 转换为其他Python对象 数据预处理实现 读取数据集 处理缺失值 转换为张…

【前段基础入门之】=>CSS3新特性 响应式布局

文章目录 概念媒体查询媒体类型媒体特性媒体运算符 概念 所谓对响应式布局方案的理解&#xff0c;众说纷纭&#xff0c;核心点就是同一套代码在不同尺度屏幕下的布局呈现方式的不同 社区中有很多人分享&#xff0c;并列出了多种实现响应式布局的方案&#xff0c;比如【 rem&…

少儿编程启蒙指南

《少儿编程启蒙指南》大纲 本文详细阐述少儿编程启蒙&#xff0c;由于章节别叫多所以本章是个目录想要详细内容&#xff0c;点击每一章链接查看&#xff01; 第一章&#xff1a;导言 介绍&#xff1a; 少儿编程的重要性和趋势。为什么编程&#xff1a; 理解为何孩子学习编程…

渔业可视化渔业数字孪生

渔业可视化&渔业数字孪生 帮威客打造的渔业可视化&渔业数字孪生&#xff0c;适用于室内塘口养殖、室外塘口养殖、室外大水面养殖等场景&#xff0c;可运用于鱼类、虾类、贝类、蟹类、鳖类等水产作物养殖过程&#xff0c;旨在助力水产养殖日常管理的数字化、智能化、自动…

Android App 启动流程学习

App启动 壹、App启动流程图贰、流程图详细解读2.1、系统操作Zygote 进程的孵化应用资源和类加载App在启动后立即显示应用的空白启动窗口创建应用进程 2.2、进程开始步骤3、ActivityThread 被加载到内存中步骤3.2、ActivityThread.main()步骤4、ActivityManagerService.attachAp…

运维知识点-Windows操作系统cmd/Dos批处理命令与脚本手册bat

Windows操作系统命令与脚本总结 管理员权限&#xff1a;添加账号并加入管理员组添加用户至远程桌面组允许修改密码 防火墙 :关闭防火墙 匹配出注册表信息中的软件&#xff1a;获取完整补丁信息&#xff08;比systeminfo全&#xff09;&#xff1a;获取系统和版本信息显示本地或…

SOLIDWORKS知识点放送——什么是SOLIDWORKS布局草图?

什么是SOLIDWORKS布局草图&#xff1f;利用布局草图&#xff0c;我们可以“自顶向下”的设计出一个装配体。装配体用2D草图做个整体规划布局&#xff0c;利用此草图生成所有零件的基准。通过改变布局草图来更新装配体文件的内容。草图来定义零部件的大小、形状以及它在装配体的…

高防IP是什么,高防IP有什么作用?

什么是高防IP&#xff1f; 高防IP是一款专业解决大流量攻击的安全防护产品&#xff0c;支持网站和非网站类业务的DDoS、CC防护&#xff0c;用户通过配置转发规则&#xff0c;将攻击流量引至高防IP并清洗&#xff0c;保障业务稳定可用&#xff0c;具有灾备能力&#xff0c;线路…

深度学习YOLO安检管制物品识别与检测 - python opencv 计算机竞赛

文章目录 0 前言1 课题背景2 实现效果3 卷积神经网络4 Yolov55 模型训练6 实现效果7 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; **基于深度学习YOLO安检管制误判识别与检测 ** 该项目较为新颖&#xff0c;适合作为竞赛课题方向&…

QT 使用mysql

版本&#xff1a;ubuntu&#xff1a;20.04.1 mysql&#xff1a; 8.0.35 QT &#xff1a;5.12.8 1.安装mysql sudo apt install mysql-server 下载完后查看mysql状态 sudo service mysql status 如下图active&#xff08;running&#xff09;则下载成功&#xff0c;运行中…

AI创作系统ChatGPT网站源码/支持DALL-E3文生图/支持最新GPT-4-Turbo模型+Prompt应用

一、AI创作系统 SparkAi创作系统是基于OpenAI很火的ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统&#xff0c;支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美&#xff0c;可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如…

python大数据毕设选题

文章目录 0 前言1 大数据毕设选题推荐2 开题指导3 最后 0 前言 大家好&#xff01;大四的同学们&#xff0c;毕业设计的时间即将到来&#xff0c;你们准备好了吗&#xff1f;为了帮助大家更好地开始毕设&#xff0c;我作为学长给大家整理了最新的计算机大数据专业的毕设选题。…

如何通过数据治理来提升业务价值——业务场景治理

数据治理&#xff0c;一方面是为了对数据的规范管理和控制&#xff0c;还有一方面是让数据能够为业务提供服务和创造价值。近些年来&#xff0c;随着数据治理技术发生着日新月异的变化&#xff0c;行业对数据治理的需求和指导也被逐步推进和实践&#xff0c;从宏观上看&#xf…

怎样能写好年终总结报告?

年终总结报告是每个企业、部门、团队都必须完成的一项任务。它是对一年来工作的回顾和总结&#xff0c;也是对下一年工作的规划和展望。写好年终总结报告&#xff0c;不仅可以反映出一个人的工作能力和水平&#xff0c;也可以为下一年的工作提供依据和指导。那么&#xff0c;怎…

3.3主存储器与CPU的连接

存储器芯片的输入输出信号 增加主存的存储字长-位扩展 增加主存的存储字数-字扩展 线选法译码片选法n条线->n个选片信号n条线->2的n次方个选片信号电路简单电路复杂地址空间不连续地址空间可连续 主存容量扩展-字位同时扩展 译码器 双端口RAM和多模块存储器 双端口RAM …

git commit 后 发现提交信息写错了怎么办

解决方案&#xff1a; 可以使用 git commit --amend 命令。此命令将打开默认文本编辑器&#xff0c;允许你编辑最近的提交的提交信息。 以下是使用 git commit --amend 的步骤&#xff1a; 首先&#xff0c;在你的工作目录中进行所需的更改。运行 git add 命令将更改的文件添…

装机必备!这5款免费软件,你值得拥有!

​ 目前win7渐渐退出视野&#xff0c;大部分人都开始使用win10了&#xff0c;笔者在日常的工作和使用中&#xff0c;为了能够让效率的大提升&#xff0c;下载了不少软件&#xff0c;以下的软件都是个人认为装机必备&#xff0c;而且都是可以免费下载。 1.屏幕亮度调节——Twin…

代码随想录算法训练营第五十六天 | LeetCode 647. 回文子串、516. 最长回文子序列、动态规划总结

代码随想录算法训练营第五十六天 | LeetCode 647. 回文子串、516. 最长回文子序列、动态规划总结 文章链接&#xff1a;回文子串、最长回文子序列、动态规划总结 视频链接&#xff1a;回文子串、最长回文子序列 1. LeetCode 647. 回文子串 1.1 思路 本题是给个字符串 s 求里面…

电路综合-基于简化实频的集总参数电路匹配2-得出解析解并综合

电路综合-基于简化实频的集总参数电路匹配2-得出解析解并综合 电路综合-基于简化实频的集总参数电路匹配1中介绍了从要匹配的电路结构得到所对应的均衡器的阻抗数值解的过程。我们下一步需要将数值解拟合成正实函数的形式&#xff0c;从而进行电路综合。此处接着这个教程继续。…