由于选择了分数扩展点,因此需要定义相应的方法来实现相应的抽象
在1.21之前使用
使用了版本1.22,但保留了该版本
使用了版本1.23、1.24和1.25,但保留并删除了它们
注意:不能同时指定。如果指定,其他参数将变为无效
通过配置文件,用户可以自定义多个调度程序,并配置每个阶段的扩展点。插件通过这些扩展点在整个调度上下文中提供调度行为。
注意:如果name=“*”,则在这种情况下将禁用/启用相应扩展点的所有插件
有关更多配置文件用例,请参阅官方文档
对于插件的实现,只需要实现相应的扩展点接口。通过内置插件执行以下分析:
定义插件结构
实现相应的扩展点
对于ProMQ和client_ Golang,他知道一些事情
实验大致分为以下步骤:
定义插件API
插件名为
定义扩展点
这里,使用分数扩展点并定义评分算法
定义传递给自定义调度程序的参数
将项目部署到集群
实验结果的验证
错误处理
初始化项目时,您将遇到大量以下错误:
定义插件API
定义插件名称和变量
定义插件的结构
定义扩展点
由于选择了分数扩展点,因此需要定义相应的方法来实现相应的抽象
接下来,我们需要对结果进行归一化。这里,我们回到调度框架中扩展点的实现。从源代码中,我们可以看到score扩展点需要实现的不仅仅是这个方法。
从上面的代码中,我们可以看到实现必须被实现。如果没有实现,将直接返回。根据中的示例,发现此方法仅返回扩展点对象本身,具体的规范化是中的实际评分操作。
在调度框架中,还讨论了实际操作的方法
让我们实现相应的方法
例如,如果最大带宽为200000,当前节点带宽为140000,则节点得分为:
配置插件名称
为了在注册期间使用插件,需要为其配置名称
定义要传入的参数
使用该结构,您需要查询操作和指标。对于指标,此处使用的计算方法是获取节点的网络流量。由于环境部署在集群之外,并且没有节点主机名,因此整个语句如下:
配置调度程序的参数
项目部署
如果需要在集群内部署,可以将其打包为映像
群集中部署所需的资源列表
验证结果
准备一个要部署的pod,并指定要使用的调度程序的名称
调度程序日志如下所示:
问题#79384
发表评论