K8S QoS等级
在 Kubernetes 中,QoS(Quality of Service)等级用于定义 Pod 的资源管理策略,以确保在资源不足时,系统能够优先处理关键工作负载。Kubernetes 将 Pod 分为三种 QoS 等级:
1. Guaranteed(保证型)
- 定义:所有容器都必须为其请求和限制设置相同的 CPU 和内存值。
- 用途:适用于需要稳定性能的关键应用。
- 行为:在资源紧张时,Guaranteed Pod 不会被驱逐。
示例:
apiVersion: v1
kind: Pod
metadata:
name: guaranteed-pod
spec:
containers:
- name: app
image: my-app
resources:
requests:
memory: "512Mi"
cpu: "500m"
limits:
memory: "512Mi"
cpu: "500m"
2. Burstable(突发型)
- 定义:容器的请求和限制不相同。至少一个容器有请求小于限制的情况。
- 用途:适用于偶尔需要高性能的应用,同时又希望在资源不足时能够被驱逐。
- 行为:在资源紧张时,Burstable Pod 的优先级低于 Guaranteed Pod,但高于 BestEffort Pod。
示例:
apiVersion: v1
kind: Pod
metadata:
name: burstable-pod
spec:
containers:
- name: app
image: my-app
resources:
requests:
memory: "256Mi"
cpu: "250m"
limits:
memory: "1Gi"
cpu: "1"
3. BestEffort(最佳努力型)
- 定义:没有设置请求和限制,或者所有容器的请求和限制均为零。
- 用途:适用于不重要的、可被随时驱逐的工作负载。
- 行为:在资源紧张时,BestEffort Pod 是最容易被驱逐的。
示例:
apiVersion: v1
kind: Pod
metadata:
name: besteffort-pod
spec:
containers:
- name: app
image: my-app
resources: {}
总结
Kubernetes 的 QoS 等级通过 Guaranteed、Burstable 和 BestEffort 三种类别来管理 Pod 的资源分配和优先级。选择合适的 QoS 等级可以帮助管理员有效地管理集群资源,提高关键应用的可用性和性能。
分类:
运维面试题 / K8S面试题
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?