Openstack Cinder的调度服务用于选择一个合适的cinder-volume节点来处理用户有关云盘生命周期的请求。本文介绍调度器affinity/anti-affinity的原理和使用方法。
1. Openstack中的affinity/anti-affinity
过滤器affinity/anti-affinity描述了云盘之间的关系:
- affinity表示新创建的云盘跟指定的云盘在同一个后端(back-end/pool)
- anti-affinity表示新创建的云盘跟指定的云盘在不同一个后端(back-ends/pools).
为了实现该功能,Cinder新增了2个过滤器SameBackendFilte/DifferentBackendFilter.
2. k8s中的亲和性和反亲和性
- 亲和性:应用A与应用B两个应用频繁交互,所以有必要利用亲和性让两个应用的尽可能的靠近,甚至在一个node上,以减少因网络通信而带来的性能损耗。
- 反亲和性:当应用的采用多副本部署时,有必要采用反亲和性让各个应用实例打散分布在各个node上,以提高HA。
《OpenStack Cinder之过滤器affinity/anti-affinity介绍》
《K8S高级调度——亲和性和反亲和性》 亲和性、反亲和性