21.2. 将实例调度到节点
在创建实例前,必须选择镜像实例化的主机。此选择由 nova-scheduler
执行,它决定了如何分配计算和卷请求。
FilterScheduler
是计算的默认调度程序,但存在其他调度程序。此功能与 过滤器提示 配合使用,以确定实例应启动的位置。通过这一主机选择,管理员可以满足许多不同的安全性和合规性要求。如果数据隔离是主要关注,您可以选择让项目实例尽可能驻留在同一主机上。相反,您可以因为可用性或容错原因,尝试让实例位于尽可能多的不同主机上。
过滤调度程序属于以下主要类别:
- 基于资源的过滤器 - 根据 hypervisor 主机集的系统资源使用情况来确定实例的放置,并可以在空闲或使用的属性上触发,如 RAM、IO 或 CPU 使用率。
- 基于镜像的过滤器 - 根据所使用的镜像元数据(如虚拟机或镜像类型的操作系统)创建实例。
- 基于环境的过滤器 - 根据外部详细信息(如特定 IP 范围内、跨可用性区域或与另一个实例在同一主机上)来确定实例的放置。
- 自定义条件 - 根据用户或管理员提供的标准(如信任或元数据解析)来限制实例创建。
可以一次应用多个过滤器。例如,ServerGroupAffinity
过滤器检查是否在特定主机的成员上创建实例,并且 ServerGroupAntiAffinity
过滤器检查是否在另一特定的一组主机上创建相同的实例。请注意,这两个过滤器通常同时启用,且永远不会相互冲突,因为它们都检查给定属性值,且不能同时为 true。
重要
考虑禁用可解析用户提供的对象的过滤器,或者可以操作(如元数据)。