设置 request 能够使 Pod 调度到有足够资源的节点上,但无法做到更细致的控制。本文介绍通过亲和性、污点与容忍,使 Pod 能够被调度到合适的节点上,让资源得到充分的利用。
使用亲和性
- 对节点有特殊要求的服务可使用节点亲和性(Node Affinity)部署,以便调度到符合要求的节点。例如,让 MySQL 调度到高 IO 的机型以提升数据读写效率。
- 需进行关联的服务可使用节点亲和性(Node Affinity)部署。例如,让 Web 服务与其 Redis 缓存服务都部署在同一可用区,可实现低延时。
- 可使用节点亲和性(Node Affinity)将 Pod 进行打散调度,避免单点故障或流量过于集中导致的一些问题。
使用污点与容忍
使用污点(Taint)与容忍(Toleration)可优化集群资源调度:
- 通过给节点打污点,来给某些应用预留资源,避免其他 Pod 调度到此节点。
- 需使用预留资源的 Pod 加上容忍,结合节点亲和性使 Pod 调度到预留节点,即可使用预留资源。
本页内容是否解决了您的问题?