openstack compute schedulers

news2024/9/25 23:11:34

https://docs.openstack.org/nova/latest/admin/scheduling.html
在默认的配置中,调度器将考虑如下的几个方面:

  1. 请求的是Availability Zone
  2. nova-compute服务在目标节点上是启用的
  3. 满足实例类型的extra specs(ComputeCapabilityesFilter)
  4. 满足实例镜像的需求参数,如architecture,hypervisor type,virtual machine mode等等(Image ProperitiesFilter)
  5. 与其他的实例运行在不同的节点(如果有需求)(主要是考虑ServerGroupAntiAffinityFilter)
  6. 位于主机组之中(ServerGroupAffinityFilter)

当实例在迁移、调整大小、驱逐或者在shelve offloaded之后再unshelved。当从节点中驱逐实例,调度器负责在管理员指定的节点上执行nova evacuate命令。如果管理员并未指定驱逐后的目标节点,调度器将会自动选择。

Prefilters

从Rocky版本开始,调度器的进程包含一个预过滤的步骤来提升子阶段的效率。旨在减少候选计算节点的数量。除了以下列出的过滤器以外,还支持其他的过滤器,可参考:https://docs.openstack.org/nova/latest/admin/aggregates.html#tenant-isolation-with-placement

Compute Image Type Support

从Train版本开始,该过滤器用于排除不满足镜像引导需求的disk_format的计算节点。通过设置scheduler.query_placement_for_image_type_support=true启用。

Compute Diabled Status Support

从Train版本开始,该过滤器用于排除禁用的计算节点。当计算节点有COMPUTE_STATUS_DISABLED污点将被排除作为候选节点。该污点是被nova-compute服务管理的并镜像该disabled status到相关的计算服务并记录在os-services API。
如果在状态发生改变时,计算服务down了,该污点将在计算服务重启时进行同步。相同的,当尝试给资源供应节点添加或者移除污点时发生错误,该污点将会在update_available_resource任务执行时进行同步。这个任务间隙由update_resources_interval配置进行控制。

Isolate Aggregates

从Train版本开始,有一个可选的隔离主机聚合过滤器。当启用时,traits被写入到实例类型中以及镜像必须至少是聚合元数据中所需的映像,以便服务器有资格在该聚合中的主机上启动。

The Filter Scheduler

Wallaby发生变更:移除对自定义调度器的支持。过滤调度器目前仅支持nova。
nova调度器及filter 调度器,支持过滤和权重确认新实例运行的位置。
当调度器接收到对资源的请求,它首先应用过滤器决定在调度资源时哪些节点有资格被考虑。过滤器是二进制的:主机要么被过滤器接受,要么被拒绝。然后,过滤器接受的主机由不同的算法处理,以决定为该请求使用哪些主机,这被描述在Weights section。
在这里插入图片描述
filter_scheduler.available_filters配置参数提供调度器可用的过滤器。默认情况下指定计算服务的所有过滤器。该配置参数可以被多次进行配置。如果你有自定义的过滤器和系统默认的过滤器,并且你都想同时使用,那么在配置文件中,可以如下表示:
在这里插入图片描述
通过filter_scheduler.enabled_filters应用列表中的过滤器。

Filters

以下描述可用的计算过滤器。使用如下的配置参数配置filter:

  • filter_scheduler.available_filters:定义调度器可用的过滤器
  • filter_scheduler.enabled_filters:定义调度器默认应用的过滤器
    每个过滤器选择主机的方式不同,开销也不同。filter_scheduler.enable_filters的顺序影响调度的性能。普遍的建议是尽快过滤掉不可用的主机来避免不必要的开销。我们可以按照过滤器的开销反向进行排序。比如ComputeFilter在NUMATopologyFilter之前就比较好。
    在大型的环境中,AvailabilityZoneFilter在其他容量或计算过滤器之前就很有用。

AggregateImagePropertiesIsolation

从Liberty发生变更:在Liberity版本之前,可以通过此过滤器指定和使用任意元数据。从Liberty开始,nova只解析标准元数据。如果你希望使用任意的元数据,考虑使用AggregateInstanceExtraSpecsFilter。

将镜像元数据中定义的属性与聚合的属性进行匹配,以确定主机匹配:

  • 如果一个主机属于一个聚合,该聚合定义了一个或多个元数据并且匹配镜像中的元数据,那么该主机就会作为候选节点引导镜像实例。
  • 如果主机不属于任一聚合,那么它可以引导所有镜像的实例。

你可以配置AggregateImagePropertiesIsolation通过以下的配置选项:

  • filter_scheduler.aggregate_image_properties_isolation_namespace
    default:<None>
    在host aggregate中使用的镜像property。
    镜像和主机可以被配置成特定的镜像只能运行在特定的aggregate中的主机上。这是通过在主机聚合上设置元数据值来完成的,这些元数据值以该选项的值开头标识。如果主机作为aggregate的一部分并拥有该元数据的key,那么镜像也必须拥有该元数据,这样调度器才会任务该主机是可接受的。
    该选项只会被FilterScheduler和子类型使用,如果你使用不同的调度器,这个参数将不会有任何的影响。同时需要注意,该设置只会在启用aggregate_image_properties_isolation过滤器时才有用。
    可能的值:

    • 字符串,该字符串对应于镜像属性命名空间。

    相关选项:

    • aggregate_image_properties_isolation_separator
  • filter_scheduler.aggregate_image_properties_isolation_separator
    default: .
    属性和命名空间的分隔符。
    当使用aggregate_image_properties_isolation过滤器时,相关的元数据键使用aggregate_image_properties_isolation_namespace配置选项中定义的名称空间加上分隔符作为前缀。此选项定义要使用的分隔符。
    此选项仅由FilterScheduler及其子类使用;如果使用其他调度器,则此选项不起作用。还要注意,如果启用了“aggregate_image_properties_isolation”过滤器,则此设置仅影响调度。

AggregateInstanceExtraSpecsFilter

对实例定义的exra specs参数与管理员给aggregate定义的参数匹配。适用于用aggregate_instance_extra_specs限定范围的规范。可以指定多个值。为了向后兼容,也适用于无作用域的规范;高度不建议使用此操作,因为当您同时启用ComputeCapabilitiesFilter过滤器时,它会与之冲突。

AggregateIoOpsFilter

单台主机最大的iops。max_io_ops_per_host。如果一个主机位于多个aggregate中并且有多个max_io_ops_per_host,以最小值为准。

AggregateMultiTenancyIsolation

限制租户到aggregate。

AggregateNumInstancesFilter

限制aggregate中每个主机最大实例数。

AggregateTypeAffinityFilter

如果实例的名称与聚合元数据中设置的instance_type键匹配,或者没有设置instance_type键,则过滤聚合中的主机。

AllostsFilter

AvailabilityXoneFilter

ComputeCapabilityesFilter

ComputeFilter

DifferentHostFilter

将实例调度到与指定实例运行的不同的节点。

ImagePropertiesFilter

IsolatedHostsFilter

IoOpsFilter

JsonFilter

MetricsFilter

NUMATopologyFilter

NumInstancesFilter

PciPassthroughFilter

SameHostFilter

ServerGroupAffinityFilter

ServerGroupAntiAffinityFilter

SimpleCIDRAffinityFilter

Weights

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/439259.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Spring Boot Web

一. 概述 下面我们将进入 SpringBoot 基础阶段的学习。 在没有正式的学习 SpringBoot 之前&#xff0c;我们要先来了解下什么是 Spring 。 我们可以打开 Spring 的官网 ( https://spring.io ) &#xff0c;去看一下 Spring 的简介&#xff1a; Spring makes Java simple 。…

UUID无处不在,你就是唯一(2023.4.16)

六种语言生成UUID 2023.4.16 引言1、UUID简介2、UUID格式和编码3、UUID各历史版本4、UUID代码具体调用实现4.1 C# 生成UUID4.2 Java 生成UUID4.3 Python 生成UUID4.4 C 生成UUID4.5 C 生成UUID4.6 JavaScript 生成UUID&#xff08;较为实用&#xff09;4.6.1 控制台运行&#x…

测绘与设计之间的鸿沟:坐标系,教你如何将CAD与测绘数据准确叠加

一、背景 2008年&#xff0c;我国推出了2000国家大地坐标系&#xff08;以下简称国家2000坐标系&#xff09;&#xff0c;截至2022年&#xff0c;国家2000坐标系在自然资源领域已经取得了较高的普及率&#xff0c;但在工程建设领域的普及率依旧比较低&#xff0c;很多工程项目…

23种设计模式(9)——适配器模式

目录 一、基本介绍 二、demo 2.1、类适配器模式 类适配器模式注意事项和细节 2.2、对象适配器模式 对象适配器模式注意事项和细节 2.3、接口适配器模式 接口适配器模式介绍 三、适配器模式在框架中的应用 3.1在 SpringMVC 框架应用 3.2、spring AOP中的适配器模式 一、…

如何制作实时库存报表

草料二维码暂不支持自动计算功能&#xff0c;无法看到实时的库存数量。但可以使用外部数据分析工具&#xff0c;如百度Sugar&#xff0c;连接草料二维码官方数据库&#xff0c;即可自由实现各类计算&#xff0c;包括实时库存。 一、案例效果 输入物料名称&#xff0c;即可快速…

oracle学习之rownum和rowid

rownum先百度一波https://www.cnblogs.com/xfeiyun/p/16355165.html rownum是oracle特有的一个关键字。 对于基表&#xff0c;在insert记录时&#xff0c;oracle就按照insert的顺序&#xff0c;将rownum分配给每一行记录&#xff0c;因此在select一个基表的时候&#xff0c;r…

Java基础(八)异常处理

1. 异常概述 1.1 什么是生活的异常 男主角小明每天开车上班&#xff0c;正常车程1小时。但是&#xff0c;不出意外的话&#xff0c;可能会出现意外。 出现意外&#xff0c;即为异常情况。我们会做相应的处理。如果不处理&#xff0c;到不了公司。处理完了&#xff0c;就可以…

Ubuntu下打开QtCreator,环境变量(PATH、LD_LIBRARY_PATH等)与预期不一致的问题

现象展示 在Ubuntu中&#xff0c;安装好Qt之后&#xff0c;可以在系统桌面的左下角找到启动图标 但是&#xff0c;这种方式启动的QtCreator所读取到的环境变量和我们从命令行读取到的不一致&#xff1a; 可以看到&#xff0c;明显少了这个&#xff1a;/opt/ros/humble/bin 因…

Docker实战笔记3-仓库

转载请标明出处&#xff1a;http://blog.csdn.net/zhaoyanjun6/article/details/130260521 本文出自【赵彦军的博客】 文章目录 官方仓库 Docker Hub注册登录查看镜像搜索镜像推送镜像自动构建 网易镜像 官方仓库 Docker Hub https://hub.docker.com/ 目前 Docker 官方维护了…

C++入门之auto关键字内联函数

文章目录 前言一、auto关键字1.auto简介2.auto的使用细则&#xff08;1&#xff09;auto与指针和引用结合起来使用&#xff08;2&#xff09;在同一行定义多个变量&#xff08;3&#xff09;auto不能推导的场景 3.基于范围的for循环(C11)&#xff08;1&#xff09;遍历&#xf…

聚观早报|五一首日高铁跨省游热度暴涨;大语言模型规模接近极限

今日要闻&#xff1a;马斯克已创立新人工智能公司X.AI&#xff1b;五一假期首日高铁跨省游热度暴涨&#xff1b;大语言模型规模已接近极限&#xff1b;贾跃亭发文谈FF首台量产车下线&#xff1b;斑马智行与智己汽车进一步合作 马斯克已创立新人工智能公司X.AI 据外媒报道&…

Node 07-nvm

nvm 介绍 nvm 全称 Node Version Manager 顾名思义它是用来管理 node 版本的工具&#xff0c;方便切换不同版本的Node.js 使用 nvm 的使用非常的简单&#xff0c;跟 npm 的使用方法类似 下载安装 首先先下载 nvm&#xff0c;下载地址 https://github.com/coreybutler/nvm-…

【Python中线程和进程详解】

一.区别 几乎所有的操作系统都支持同时运行多个任务&#xff0c;每个任务通常是一个程序&#xff0c;每一个运行中的程序就是一个进程&#xff0c;即进程是应用程序的执行实例。现代的操作系统几乎都支持多进程并发执行。 注意&#xff0c;并发和并行是两个概念&#xff0c;并…

好家伙,9:00面试,9:06就出来了,问的实在是太...

从外包出来&#xff0c;没想到死在另一家厂子 自从加入这家公司&#xff0c;每天都在加班&#xff0c;钱倒是给的不少&#xff0c;所以也就忍了。没想到2月一纸通知&#xff0c;所有人不许加班&#xff0c;薪资直降30%&#xff0c;顿时有吃不起饭的赶脚。 好在有个兄弟内推我去…

会声会影老牌视频剪辑软件2023新版本升级

会声会影2023(VideoStudio)是一款功能强大的专业视频制作软件的视频编辑软件及视频剪辑软件&#xff0c;可以剪辑&合并视频、制作视频、屏幕录制、光盘制作、视频后期编辑、添加特效、字幕和配音等操作&#xff0c;任何人都能快速上手&#xff0c;以它的界面美观&#xff0…

#关于webpack版本号的问题#

场景&#xff1a;在使用npm install 安装package.json里面的依赖的&#xff0c;打包&#xff0c;运行的使用&#xff0c;有时候会失败。 原因 &#xff1a;由于webpack webpack-cli版本不同导致的 这个时候需要解决webpack webpack-cli的安装&#xff0c;切换等操作 例如使用…

python+vue 智慧校园校医室问诊系统

本网站所实现的是一个智慧校园校医室问诊系统&#xff0c;该系统严格按照需求分析制作相关模块&#xff0c;并利用所学知识尽力完成&#xff0c;但是本人由于学识浅薄&#xff0c;无法真正做到让该程序可以投入市场使用&#xff0c;仅仅简单实现部分功能&#xff0c;希望日后还…

CentOS8使用cephadm部署和配置Ceph Octopus

部署工具&#xff1a;cephadm操作系统&#xff1a;CentOS 8Ceph版本&#xff1a;Octopus操作用户&#xff1a;root 部署前&#xff0c;请注意&#xff1a;根据目前&#xff08;2020年8月&#xff09;Ceph官方文档的介绍&#xff0c;cephadm的对各服务的支持情况如下&#xff1a…

3D WEB端渲染引擎如何使用服务器端的转换程序?1个案例教会你

前言 HOOPS SDK是用于3D工业软件开发的工具包&#xff0c;其中包括4款工具&#xff0c;分别是用于读取和写入30多种CAD文件格式的HOOPS Exchange、专注于Web端工程图形渲染的HOOPS Communicator、用于移动端和PC端工程图形渲染的HOOPS Visualize、支持将3D数据以原生3D PDF、H…

html+css+js本地音乐播放器,实现可视化音频频谱

效果 htmlcssjs本地音乐播放器&#xff0c;实现可视化音频频谱 前言 之前用swing写了个本地音乐播放器&#xff08;如下图&#xff09;&#xff0c;但是效果一言难尽&#xff0c;界面丑&#xff0c;功能bug也多&#xff0c;唉 所以后面又重新用html写了个&#xff0c;界面样式…