---
title: Kubernetes PriorityClass 与抢占治理(优先级、PDB 与验证)
date: 2025-11-26
keywords:
- PriorityClass
- 抢占
- PDB
- 调度
- 可靠性
description: 使用PriorityClass为关键工作负载设置更高优先级并治理抢占行为,结合PDB与资源配额,提供配置与验证方法以提升集群可靠性。
tags:
- Kubernetes
- PDB
- PriorityClass
- 云原生
- 可靠性
- 抢占
- 调度
- 调度与可靠性
categories:
- 文章资讯
- 技术教程
---
概述
PriorityClass为Pod设定优先级,调度器在资源紧张时可能抢占低优先级Pod。通过PDB治理可用性,结合配额与策略实现稳妥调度。
关键实践与参数
- 优先级: 创建
PriorityClass并为关键服务赋值 - 抢占策略: 控制可抢占与选择策略
- PDB: 为关键服务设定最小可用副本
- 配额: 限制命名空间资源使用
示例/配置/实现
apiVersion: scheduling.k8s.io/v1
kind: PriorityClass
metadata:
name: critical
value: 1000000
globalDefault: false
description: "critical services"
---
apiVersion: apps/v1
kind: Deployment
metadata: { name: api }
spec:
replicas: 3
selector: { matchLabels: { app: api } }
template:
metadata: { labels: { app: api } }
spec:
priorityClassName: critical
containers:
- name: app
image: alpine:3.19
command: ["sleep","3600"]
---
apiVersion: policy/v1
kind: PodDisruptionBudget
metadata: { name: api-pdb }
spec:
selector: { matchLabels: { app: api } }
minAvailable: 2
验证
- 抢占行为: 在资源紧张时低优先级Pod被驱逐,关键服务保持可用
- PDB生效: 驱逐时仍满足最小可用副本
- 稳定性: 在扩缩容与更新期间关键服务稳定
- 观测: 记录调度事件与驱逐日志
注意事项
- 慎重设置优先级避免影响整体稳定
- 与HPA与PDB协同
- 命名空间配额与限流策略需配合
- 定期演练资源紧张场景

发表评论 取消回复