Kubernetes Deployment 节点调度配置全攻略
在 Kubernetes 中,控制 Deployment 的 Pod 副本调度到特定节点是运维和架构设计的核心能力。合理的调度策略能够充分利用集群资源,保证关键业务的稳定性和高可用性。
本文将从基础到进阶,系统介绍 Kubernetes 节点调度配置方法,并结合配置示例与可视化图表帮助你理解。
核心方法概述
1. 节点选择器 (nodeSelector)
最简单的调度方式,基于 节点标签 直接匹配。
2. 节点亲和性 (nodeAffinity)
更高级的调度机制,支持多条件匹配和优先级设置。
3. 污点和容忍度 (Taints and Tolerations)
通过污点限制节点,结合容忍度允许 Pod 调度上去,常用于 专用节点。
进阶方法补充
4. Pod 亲和性与反亲和性 (PodAffinity / PodAntiAffinity)
基于 Pod 之间的关系 来调度:
- PodAffinity:Pod 必须/优先和指定 Pod 在同一节点或拓扑域。
- PodAntiAffinity:避免 Pod 集中在同一节点,提升高可用性。
5. 拓扑分布约束 (TopologySpreadConstraints)
保证 Pod 均匀分布在不同节点、机架、可用区,避免集中风险。
6. 自定义调度器 (Custom Scheduler)
通过 schedulerName 使用自定义调度器,满足特殊业务需求。