1. 课程导论:证书轮换的背景、为什么需要容量规划与资源预留、课程目标与受众
1.1 证书轮换的背景:为什么K8s集群离不开它
Kubernetes 集群内部所有组件之间的通信都依赖 TLS 证书进行身份验证和加密。这些证书由集群的 CA(Certificate Authority) 签发,并设置了固定的有效期。当证书过期时,组件之间的 gRPC/HTTPS 握手会失败,导致控制平面不可用、节点失联、kubelet 无法注册等严重故障。
证书轮换(Certificate Rotation)是指:在证书到期前,通过自动化或手动方式重新签发并分发新证书,替换即将过期的旧证书。K8s 社区推荐证书有效期通常为 1 年,部分企业安全策略甚至缩短至 90 天。这意味着集群每年至少需要执行 1~4 次证书轮换作业。
关键事实: 证书轮换不是可选项,而是 K8s 集群生命周期管理的强制运维动作。忽略轮换将直接导致集群熔断。
1.2 为什么需要容量规划与资源预留
证书轮换作业并非简单的“替换文件”,它涉及多个组件的重启、证书重新加载、以及控制平面与工作节点之间的协调。如果不对轮换作业进行容量规划与资源预留,可能引发以下连锁问题:
| 风险类别 | 具体表现 | 影响等级 |
|---|---|---|
| 控制平面过载 | API Server 同时处理大量证书签发请求,响应延迟飙升 | 严重 |
| 节点资源争抢 | kubelet 重启占用 CPU/内存,与业务 Pod 争抢资源 | 中等 |
| 调度风暴 | 大量 Pod 因节点重启而重新调度,引发集群震荡 | 严重 |
| 证书签发队列积压 | CA 服务处理能力不足,部分节点轮换超时 | 高 |
| 滚动窗口失控 | 轮换批次过大,导致集群整体可用性下降 | 严重 |
容量规划与资源预留的核心目标:在证书轮换期间,确保集群仍能维持 SLA 承诺的可用性与性能,避免轮换操作本身成为故障源。
常见误区: 很多团队认为证书轮换只是“后台任务”,不需要额外资源。实际生产案例表明,未做资源预留的轮换作业曾导致 5000 节点集群的 API Server 响应时间从 50ms 飙升至 12s,触发全局健康检查失败。
1.3 课程目标与受众
本课程面向 K8s/SRE 工程师、平台架构师、容量规划工程师,旨在提供一套可落地的证书轮换容量规划方法论与调度资源预留策略。完成本课程后,学员将能够:
- 理解 K8s 证书体系与轮换触发机制
- 量化 轮换作业对控制平面、节点、网络、存储的资源消耗
- 设计 基于集群规模的轮换批次与并发度模型
- 预留 调度资源(CPU、内存、网络带宽、QoS 等级)保障轮换平稳执行
- 验证 通过压测与混沌工程确认容量规划的有效性
课程覆盖以下核心知识域:
| 模块 | 内容 |
|---|---|
| 证书轮换基础 | K8s 证书类型、有效期、自动轮换机制(kubelet CSR) |
| 容量建模 | API Server 请求模型、CA 签发吞吐、节点重启开销 |
| 资源预留策略 | PriorityClass、ResourceQuota、PodDisruptionBudget 组合使用 |
| 调度编排 | 分批轮换、滚动窗口、优雅排空与重调度 |
| 监控与告警 | 证书过期指标、轮换进度、资源饱和度阈值 |
1.4 证书轮换作业的全局视图
下图展示了证书轮换作业在 K8s 集群中的完整流程与资源交互关系:
1.5 课程核心交付物
本课程将提供可直接复用的工程产出:
- 容量计算模板:基于集群节点数、Pod 密度、证书有效期的资源需求公式
- 调度资源预留 YAML 清单:PriorityClass、ResourceQuota、PDB 的推荐配置
- 轮换作业编排脚本:分批滚动、优雅排空、进度追踪的自动化实现
- 监控仪表板定义:证书过期倒计时、轮换进度、资源饱和度关键指标
学习建议: 建议学员先熟悉 K8s 证书体系(kubelet 证书、API Server 证书、etcd 证书)的基本概念,以及 kubectl 证书管理命令。本课程将在此基础上深入容量规划与调度资源预留的实战层面。