---
title: Kubernetes优雅终止与PodDisruptionBudget治理
keywords:
- terminationGracePeriodSeconds
- preStop
- PDB
- Eviction
- drain
description: 通过优雅终止与 PDB 限制自愿干扰,保障升级与维护期间的服务可用性与连接完整性。
tags:
- Eviction
- Kubernetes
- PDB
- drain
- preStop
- terminationGracePeriodSeconds
- 云原生
- 可用性
categories:
- 文章资讯
- 技术教程
---
Kubernetes优雅终止与PodDisruptionBudget治理
概览
- 优雅终止通过发送 SIGTERM 与执行
preStop使应用完成收尾;在宽限期内保持容器运行。 - PDB 限制自愿干扰(如节点维护/升级)导致的 Pod 同时中断数量,保障最小可用副本。
- 与
kubectl drain/Evictions API协同,在滚动更新与维护时控制影响面。
技术参数(已验证)
- 终止:
terminationGracePeriodSeconds控制宽限期;preStop执行收尾;Readiness 掉线后从负载移除;结束时发 SIGKILL。 - PDB:设置
minAvailable或maxUnavailable;仅作用于自愿干扰,对非自愿故障不生效。 - 滚动:部署时结合
maxUnavailable与 PDB;避免与副本数冲突导致阻塞。 - 运维:
kubectl drain --delete-emptydir-data --ignore-daemonsets --force等选项;Eviction 请求受 PDB 约束。 - 观测:记录终止时长与连接丢失;在维护前后核验服务指标。
实战清单
- 为关键服务配置合理的宽限期与
preStop收尾;在更新前验证连接耗尽。 - 设定 PDB 保证最小可用;协调滚动参数与维护窗口。
- 使用 Evictions 与 drain 演练流程;观测指标与告警,持续优化。
- Importance: 在变更期保持服务可用与连接完整,降低用户影响。

发表评论 取消回复