---
title: Kubernetes PodDisruptionBudget高可用实践
keywords:
- PodDisruptionBudget
- PDB
- drain
- minAvailable
- maxUnavailable
description: 使用PDB限制可中断Pod数量以保障高可用,提供可验证的YAML与排空命令,降低维护对业务的影响。
date: 2025-11-26
tags:
- Kubernetes
- PDB
- PodDisruptionBudget
- drain
- maxUnavailable
- minAvailable
- 云原生
- 高可用
categories:
- 文章资讯
- 技术教程
---
概述
- 目标:在节点升级/维护期间通过PDB限制同时中断的Pod数量,保持服务SLO与请求处理能力。
- 适用:有状态或需最小副本保障的服务。
核心与实战
- PDB定义(按最小可用):
```
apiVersion: policy/v1
kind: PodDisruptionBudget
metadata:
name: api-pdb
namespace: prod
spec:
minAvailable: 2
selector:
matchLabels: { app: api }
```
- 或按最大不可用:
```
apiVersion: policy/v1
kind: PodDisruptionBudget
metadata:
name: web-pdb
namespace: prod
spec:
maxUnavailable: 1
selector:
matchLabels: { app: web }
```
示例
- 节点排空与验证:
```
kubectl drain

发表评论 取消回复