K8s Pod的QoS类

文章目录

  • Overview
  • Pod的QoS分类
    • Guaranteed
      • 1.如何将 Pod 设置为保证Guaranteed
      • 2. Kubernetes 调度器如何管理Guaranteed类的Pod
    • Burstable
      • 1. 如何将 Pod 设置为Burstable
      • 2.b. Kubernetes 调度程序如何管理 Burstable Pod
    • BestEffort
      • 1. 如何将 Pod 设置为 BestEffort
      • 2. Kubernetes 调度程序如何管理 BestEffort Pod
  • 结论

Overview

服务质量(QoS)类是 Kubernetes 的一个概念,调度器用它来决定 pod 的调度和驱逐优先级。
QoS 类是由 Kubernetes 分配给 pod 的,如以下示例所示,可以通过更改资源request和limit定义来设置。

Pod的QoS分类

  • Guaranteed
  • Burstable
  • BestEffort
    大致如下图所示:
    在这里插入图片描述

要解释 QoS 类,必须了解 cpu 和内存的“Request”和“Limit”概念。request是容器請求获得的资源,limit是容器能够获得的最大资源。

Guaranteed

1.如何将 Pod 设置为保证Guaranteed

Guaranteed类意味着request和limit的资源值是相同的。因为在任何情况下,容器将拥有完全相同的 CPU 和内存。
当request和limit的资源相同时,qosClass 标记如下:

root@k8smaster:~# kubectl get pod calico-node-pqgmw -n kube-system -o yaml|grep limits  -A 5;kubectl get pod calico-node-pqgmw -n kube-system -o yaml|grep qoslimits:cpu: 250mmemory: 70Mirequests:cpu: 250mmemory: 70MiqosClass: Guaranteed

2. Kubernetes 调度器如何管理Guaranteed类的Pod

Kubernetes 调度器通过确保所有容器的内存和 CPU 请求总和低于节点的总 CPU 和内存来管理保证Guaranteed类的 Pod
这些 Pod 优先级最高,除非系统超过资源限制,否则不会被终止。

Burstable

1. 如何将 Pod 设置为Burstable

当容器的内存或 CPU 的limit大于request的值时,Pod 会被分配为Burstable类。
当 Pod 需要一定范围的 CPU 或内存使用时,应使用此类。值可以在定义的request和limit之间。
当limit的值大于request的值时,qosClass 为Burstable,如下所示:


root@k8smaster:~#  kubectl get pod  etcd-k8smaster.pci.co.id -n kube-system -o yaml|grep resources -A 5;kubectl get pod  etcd-k8smaster.pci.co.id -n kube-system -o yaml|grep qosresources:limits:cpu: 100mmemory: 100Mirequests:cpu: 100mmemory: 100MistartupProbe:failureThreshold: 24qosClass: Burstable

如果没有限制值,则 Pod 是“Burstable”,如下所示:

root@k8smaster:~#  kubectl get pod  etcd-k8smaster.pci.co.id -n kube-system -o yaml|grep resources -A 5;kubectl get pod  etcd-k8smaster.pci.co.id -n kube-system -o yaml|grep qosresources:requests:cpu: 100mmemory: 100MistartupProbe:failureThreshold: 24qosClass: Burstable

Kubernetes 调度程序如何管理Burstable Pod

2.b. Kubernetes 调度程序如何管理 Burstable Pod

Kubernetes 调度程序无法确保 Burstable Pod 部署到具有足够资源的节点。
如果没有 BestEffort 类 Pod,则这些 Pod 在达到限制时会先于 Guaranteed 类 Pod 被终止。

BestEffort

1. 如何将 Pod 设置为 BestEffort

当 pod 没有内存或 CPU request或limit的定义时,它会被标记为BestEffort类。
由于没有limits定义,标记为 BestEffort 的 pod 只能获取节点上剩余的内存或 CPU。
当没有limit或request值时,qosClass 如下所示为 BestEffort:

kubectl get pod kube-proxy-sndtg  -n kube-system -o yaml|grep -i resources -A 1 ;kubectl get pod kube-proxy-sndtg  -n kube-system -o yaml|grep -i qosresources: {}securityContext:qosClass: BestEffort

2. Kubernetes 调度程序如何管理 BestEffort Pod

BestEffort类的pod 不保证被管理到有足够资源的节点上。它们能够使用节点上的任何空闲资源。这有时可能会导致其他 pod 的资源问题。
这些类的 pod 优先级最低,如果系统没有内存,它们将首先被终止。

结论

Kubernetes 调度程序根据 Pod 的 QoS 类值来调度 Pod。Pod 的 QoS 类由容器的资源限制和请求定义指定。这些类会影响节点的资源利用率。为了有效利用可用资源,必须考虑它们。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ROS云课三分钟外传之CoppeliaSim_Edu_V4_1_0_Ubuntu16_04

三分钟热度试一试吧,走过路过不要错过。 参考之前: 从云课五分钟到一分钟之v-rep_pro_edu_v3_6_2-CSDN博客 git clone https://gitcode.net/ZhangRelay/v-rep_pro_edu_v3_6_2_ubuntu16_04.gittar -xf v-rep_pro_edu_v3_6_2_ubuntu16_04/V-REP_PRO_EDU…

在当前页面拿到抽屉弹窗页面中从后端返回的值 #Vue3 #两个.vue页面之间传值问题

在当前页面拿到抽屉弹窗页面中从后端返回的值 #Vue3 #两个.vue页面之间传值问题 *解决方法一: 将抽屉弹窗里从后端返回得到的值缓存在浏览器中,在当前页面中从浏览器中获取该值。 (原理其实就是借助第三个盒子来传递一下值,太小学…

在npm发布自己的组件包

目录 前言 正文 npm和git的对比 Node环境的配置 具体发布步骤 ※※需要注意的是 尾声 🔭 Hi,I’m Pleasure1234🌱 I’m currently learning Vue.js,SpringBoot,Computer Security and so on.👯 I’m studying in University of Nottingham Ni…

金融领域的AI解决方案

AI可赋能金融营销、资管、风控等领域,面向金融消费者、金融机构和金融监管机构,改善金融 市场信息对称性并提升金融交易的效率和安全性。目前,金融行业各机构对于安全认证和客户身份识别的需求较为迫切,身份识别和智能客服应用和落…

如何在没有密码的情况下解锁iPhone

通常,您可以使用密码、FaceID 或 Touch ID 轻松解锁 iPhone。但是,有时您可能会忘记密码、iPhone 已停用或您的二手手机已锁定。在这种情况下,您必须绕过 iPhone 密码才能访问您的设备。在本文中,我们将向您介绍 5 种经过测试的方…

JavaEE初阶---多线程编程(一.线程与进程)

目录 🤣一.线程与进程的概念与联系: 进程的基本概念: 线程的基本概念: 进程和线程的区别与联系: 🙃代码执行实列: 1.通过继承Thread父类来实现多线程 2.通过实现Runnable接口来实现多线程…

Leetcode3171. 找到按位与最接近 K 的子数组

Every day a Leetcode 题目来源:3171. 找到按位与最接近 K 的子数组 解法1:位运算 优化: 代码: /** lc appleetcode.cn id3171 langcpp** [3171] 找到按位与最接近 K 的子数组*/// lc codestart class Solution { public:int m…

路由器作为网络扩展器——设置桥接、路由模式

下面提到的路由器都是家用路由器 一、有线桥接(交换模式) 1.连接示意图 (副路由器只看交换模式部分) 副路由器充当交换机的角色 二、无线桥接(与有线类似) (副路由器的无线信号 连接 主路由器的无线信号) 三、路由模式 1.连接示意图 (副路由器只看…

RT-DETR 详解之 Efficient Hybrid Encoder

在先前的博文中,博主介绍了RT-DETR在官方代码与YOLOv8集成程序中的训练与推理过程,接下来,博主将通过代码调试的方式来梳理RT-DETR的整个过程。 整体结构 RT-DETR的代码调试大家可以参考博主这篇文章: 在梳理整个代码之前&…

Serverless 使用OOS将http文件转存到对象存储

目录 背景介绍 系统运维管理OOS 文件转存场景 前提条件 实践步骤 附录 示例模板 背景介绍 系统运维管理OOS 系统运维管理OOS(CloudOps Orchestration Service)提供了一个高度灵活和强大的解决方案,通过精巧地编排阿里云提供的OpenAPI…

监控摄像机接入GB28181平台如何获取监控视频

各种型号监控摄像头或硬盘录像机接入 GB28181平台配置过程非常简单明了,但有些细节需要注意,避免走弯路。 1、基本要求 (1)网络要求 总的来说,只要监控设备和GB28181平台的网络是连通的,设备可以主动访问…

2024 cicsn SuperHeap

文章目录 参考沙箱存在protobuf逆向buy_booksee_bookreturn_bookedit_booksearch_book 思路exp 参考 https://hakuya.work/post/7 https://akaieurus.github.io/2024/05/20/2024%E5%9B%BD%E8%B5%9B%E5%88%9D%E8%B5%9Bpwn-wp/#SuperHeap https://blog.csdn.net/m0_63437215/art…

mysql工具----dbForgeStudio2020

dbForgeStudio2020,除了基本的操作外,还具有可调试mysql存储过程的功能,是一个不可夺得的mysql软件工具。 本文的软件将简单介绍软件的安装方式,仅供学习交流,不可做它用。 1.安装软件,安装后&#xff0c…

Linux 中常用的设置、工具和操作

1.设置固定的ip地址步骤 1.1 添加IPADDR“所设置的固定ip地址” TYPE"Ethernet" PROXY_METHOD"none" BROWSER_ONLY"no" BOOTPROTO"static" DEFROUTE"yes" IPV4_FAILURE_FATAL"no" IPV6INIT"yes" IPV6…

Intel x86+FPGA:智能AI计算机系统在支气管导航机器人的应用

随着人工智能的快速发展、技术的突破及应用领域的逐渐广泛化。医疗机器人作为人工智能时代在医疗领域应用的深化,能够有效帮助医生进行一系列的医疗诊断和辅助治疗,在有效缓解医疗资源紧张的问题下推动医疗信息化的发展。 智慧医疗场景应用 从应用场景来…

论文阅读 A Distributional Framework for Data Valuation

本论文解决的问题 量化数据价值(机器学习模型训练中各个数据点的贡献) 避免数据价值受到其所处数据集的影响,使数据点的估值更加稳定、一致 变量假设 假设 D 表示一个在全集 Z 上的数据分布。对于监督学习问题,我们通常认为 Z…

力扣 74.搜索二维矩阵

题目描述: 给你一个满足下述两条属性的 m x n 整数矩阵: 每行中的整数从左到右按非严格递增顺序排列。每行的第一个整数大于前一行的最后一个整数。 给你一个整数 target ,如果 target 在矩阵中,返回 true ;否则&am…

走进 Apache 世界的另一扇大门

引言 作为热爱技术的你,是否也羡慕 Apache PMC 或者 Committer,此篇文章渣渣皮带你迈出如何成为技术大牛的第一步。 当然我现在还是一枚小小的 code contributor,在成为 committer 的路上还在奋力打码中,写这篇文章也是为大家有…

tailwindcss的@apply使用

tailwindcss的apply是把在html写的tailwindcss可以挪到style里面 简化页面的可读性 没写之前的 <section class"block-risk absolute flex flex-col items-center p-4 text-center left-0 text-white;" :style"{ top, left: 60px }"> </section…

【Java】解决Java报错:ArrayIndexOutOfBoundsException

文章目录 引言1. 错误详解2. 常见的出错场景2.1 直接访问数组越界2.2 循环中的索引错误2.3 多维数组的错误访问 3. 解决方案3.1 检查数组长度3.2 正确使用循环3.3 多维数组的正确访问 4. 预防措施4.1 使用增强型 for 循环4.2 编写防御性代码4.3 单元测试 结语 引言 在Java编程…