K8S中的服务质量QOS

QOS介绍

在 K8S 中,Pod 的 QoS(Quality of Service,服务质量) 是指对 Pod 资源(如 CPU、内存等)分配的一种分类机制,根据资源请求和限制的设置,确定 Pod 的优先级和资源调度策略

Guaranteed(保证型)

  • 当 Pod 的资源请求和限制(requests 和 limits)相等时,它会被分配为 Guaranteed 类别
  • 对于每个容器,requestslimits 的值相等
  • 会对pod供最高级别的资源保障,即使在系统资源紧张的情况下,也不会被 OOM Killer 轻易杀死
yaml 复制代码
resources:
  requests:
    memory: "500Mi"
    cpu: "500Mi"
  limits:
    memory: "500m"
    cpu: "500Mi"

Burstable(突发型)

  • 当 Pod 的 requestslimits 不相等时,Pod 会被分配为 Burstable 类别

  • Pod 中的至少一个容器的 requests 小于其 limits,即容器可以在需求不高时使用更少的资源,但在资源充足时也能"突发"使用更多资源,适用于那些资源需求可能会波动的应用

  • 在资源充足时可以使用更多资源,但当系统资源紧张时,Pod 会优先保证其 requests 中配置的资源

yaml 复制代码
resources:
  requests:
    memory: "200Mi"
    cpu: "200Mi"
  limits:
    memory: "500Mi"
    cpu: "1"

BestEffort(尽力型)

  • 当 Pod 没有指定任何资源请求和限制时,它会被分配为 BestEffort 类别
  • 在系统资源充足时,Pod 可以运行。在系统资源紧张时,Pod 可能会被 OOM Killer 或调度器优先驱逐
相关推荐
zyplanke15 分钟前
Kubernetes(四):Service
云原生·容器·kubernetes·k8s
掘金-我是哪吒1 小时前
分布式微服务系统架构第169集:1万~10万QPS的查当前订单列表
分布式·微服务·云原生·架构·系统架构
attitude.x2 小时前
微服务架构的五大核心挑战与应对策略
微服务·云原生·架构
虚伪的空想家2 小时前
K8S删除命名空间卡住一直Terminating状态
云原生·容器·kubernetes·删除·卡顿·delete·命名空间
衍余未了4 小时前
k8s除了主server服务器可正常使用kubectl命令,其他节点不能使用原因,以及如何在其他k8s节点正常使用kubectl命令??
云原生·容器·kubernetes
Clownseven4 小时前
Mattermost教程:用Docker搭建自己的开源Slack替代品 (团队聊天)
docker·容器·开源
❀͜͡傀儡师4 小时前
Docker部署Drawnix开源白板工具
docker·容器·开源·drawnix
❀͜͡傀儡师4 小时前
Docker部署Lunalytics开源监控工具
docker·容器·开源·lunalytics
To_再飞行4 小时前
K8s 存储配置资源
linux·云原生·容器·kubernetes