You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Nomad部署.NET Core 8控制台应用报错Exit Code:134, Signal:6求助

解决Nomad部署.NET Core 8控制台应用时的Exit Code 134/Signal 6问题

问题背景

尝试在RHEL 8上的Nomad部署.NET Core 8控制台应用,作业配置如下:

job "my-service" {
  datacenters = ["dc1"]
  type = "batch"

  group "group1" {
     scaling {
      min     = 1
      max     = 10
      enabled = true
    }

    constraint {
      attribute = "10.168.30.45"
      operator  = "set_contains"
      value     = "${attr.unique.network.ip-address}"
    }

    task "raw" {
      driver = "exec"

      artifact {
        source      = "https://my-registry.com/my-service.zip"
        destination = "local"
      }

      config {
        command = "/local/my-service/My.Linux.Service"
        args = ["arg1"]
      }

      resources {
        memory = 64
      }
    }
  }
}

本地直接执行My.Linux.Service arg1正常,但通过Nomad运行时出现错误:

Exit Code: 134, Signal: 6

已启用raw_exec插件,问题仍存在。

问题分析

Exit Code 134对应Signal 6(SIGABRT),通常由以下原因导致:

  • 程序未处理的异常或崩溃
  • 执行文件权限不足
  • 依赖缺失(如.NET运行时路径未正确加载)
  • 路径配置错误
  • 资源限制过低
  • 约束条件逻辑错误

解决方案

1. 修正约束条件逻辑

原约束条件的attribute和value写反,导致调度逻辑错误。应改为:

constraint {
  attribute = "${attr.unique.network.ip-address}"
  operator  = "="
  value     = "10.168.30.45"
}

(如果节点有多个IP,可保留set_contains,但需确保attribute是变量,value是目标IP)

2. 验证Artifact解压路径

添加prestart命令检查解压后的目录结构,确认执行文件路径正确:

task "raw" {
  # 其他配置不变
  prestart {
    command = "ls"
    args = ["/local"]
  }
}

运行后查看任务日志,确认My.Linux.Service是否存在于/local/my-service/下。若zip包内根目录不是my-service,需调整路径或重新打包。

3. 添加执行权限

Nomad默认使用nomad用户运行任务,可能没有执行权限。在prestart中添加权限设置:

prestart {
  command = "chmod"
  args = ["+x", "/local/my-service/My.Linux.Service"]
}

4. 确保.NET运行时可访问

尝试用dotnet命令直接运行程序,避免路径问题:

config {
  command = "dotnet"
  args = ["/local/my-service/My.Linux.Service.dll", "arg1"]
}

或在task中添加环境变量,确保.NET路径被加载:

env {
  PATH = "${env.PATH}:/usr/share/dotnet"
}

5. 调高资源限制

64MB内存可能不足以启动.NET应用,尝试调高内存配额:

resources {
  memory = 256
}

6. 查看详细错误日志

执行以下命令查看任务的标准错误日志,获取崩溃的具体原因:

nomad alloc logs -stderr <你的分配ID>

内容的提问来源于stack exchange,提问作者Andy Johnson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 07:56:05