构建调度器插件

您需要先构建自定义调度器插件后,才可以在E-HPC控制台创建带有插件的集群。本文以LSF插件为例,为您介绍构建调度器插件的具体操作。

操作步骤

  1. 在本地机器上创建插件目录结构。

    调度器插件目录结构的更多信息,请参见调度器插件组成

    mkdir /plugin
    mkdir /plugin/LSF
    mkdir /plugin/LSF/10.1.0
  2. 使用公网下载插件配置文件及功能模版。

    1. 下载调度器插件配置文件。

      cd /plugin
      wget https://public-ehpc-package.oss-cn-hangzhou.aliyuncs.com/plugintemplate/ehpc_custom.conf
    2. 下载调度器插件功能模版。

      wget -P /plugin/LSF/10.1.0 https://public-ehpc-package.oss-cn-hangzhou.aliyuncs.com/plugintemplate/plugin_template.tar.gz
  3. 编辑配置文件。

    根据自身需求及功能实现修改调度器配置文件,将需要支持的功能项设置为true,无需支持的功能项设置为false。配置文件的更多信息,请参见调度器插件配置文件

    假设,您需要在插件中实现节点操作中的添加节点和删除节点功能,以及队列操作的队列枚举功能,那么只需在配置文件中将NodeAdd与NodeDel设置为true,将NodeOnline与NodeOffline设置为false,并且将QueueList设置为true,将QueueAdd、QueueDel和QueueSet设置为false即可。配置示例如下图所示:2022-04-06_16-15-18

  4. 编辑完成后,执行如下命令解压插件模版。

    cd LSF/10.1.0
    tar xvfz /plugin/LSF/10.1.0/plugin_template.tar.gz
  5. 依据插件模版实现自定义调度器功能。

    假设,您需要实现节点调度服务检测的功能,那么需在解压后的模版文件中找到对应服务检测功能的模版文件pluginschedulercheck.py,并在该文件中找到sched_service_check函数,然后进行调度器功能实现。如下图所示:2022-04-06_16-20-44其中,红框部分为此示例的功能实现。您需要根据不同的当前节点类型自定义返回。本示例对于计算节点和登录节点角色,在调度服务检测实现中返回true以表示检测通过,而对于管理节点角色,需要先检测lsf服务是否在节点上正常运行,然后再返回最终的检测结果。

  6. 构建调度器插件。

    实现了具体调度器功能后,在主目录执行tar命令进行压缩,即可形成最终的调度器插件。

    cd /plugin
    tar cvfz lsf_plugin.tgz *