下载
中文
注册

Volcano组件工作异常,日志出现Failed to get plugin

问题描述

VolcanoPod volcano-scheduler-xxxx状态为Running,但是出现调度异常。查看volcano-scheduler的日志,日志中出现如下信息。

E1026 10:55:44.995088       1 framework.go:38] Failed to get plugin volcano-npu_v{version}_linux-aarch64

原因分析

Volcano的启动yaml中指定了使用的调度插件的名称。

...
# Source: volcano/templates/scheduler.yaml
apiVersion: v1
kind: ConfigMap
metadata:
  name: volcano-scheduler-configmap
  namespace: volcano-system
data:
  volcano-scheduler.conf: |
    actions: "enqueue, allocate, backfill"
    tiers:
    - plugins:
      - name: priority
      - name: gang
      - name: conformance
      - name: volcano-npu_v{version}_linux-aarch64  # 调度插件名称
    - plugins:
      - name: drf
      - name: predicates
...

制作镜像时拷贝了当前目录下的调度插件so文件到容器内,供volcano-scheduler使用。

FROM alpine:latest

COPY vc-scheduler /vc-scheduler
COPY volcano-npu_*.so plugins/
...

如果拷贝到容器内供volcano-scheduler使用的调度插件的名称与yaml中配置的不一致,会导致“Failed to get plugin”错误。

解决措施

  1. 使用配套的yaml和调度插件so文件,重新制作volcano-scheduler的镜像。
  2. 卸载Volcano,再重新安装Volcano