首页/网络/常用端口速查/4646 HashiCorp Nomad API

4646 HashiCorp Nomad API

Nomad 调度器的 HTTP API 端口(RPC 4647、Serf 4648 配套):任务编排、作业提交与集群状态都在这里。

常用端口速查网络更新于 2026-10-13

Nomad 的 HTTP API 口

HashiCorp Nomad 调度器的 HTTP API 端口:作业提交、节点与分配管理、集群状态查询都走 4646,配套的 4647 是服务间 RPC、4648 是节点间的成员管理。Nomad 默认不启用认证,ACL 需要显式打开。

基本信息

服务Nomad HTTP API
协议TCP/HTTP
默认端口4646(RPC 4647、成员管理 4648)
认证ACL 需显式开启
暴露面仅运维与 CI 网段

典型使用场景

  • 提交与回滚作业(job run / job stop)
  • 查看节点与分配状态
  • CI 流水线中的部署环节
  • 节点维护:驱逐与重新纳入调度
  • 命名空间与集群级参数管理

集群与作业核对

集群与作业核对
nomad server members
nomad status
nomad job plan app.nomad
curl -s http://nomad01:4646/v1/nodes | head -c 300
ss -lntp | grep -E '464[6-8]'

排障与核对

检查项做法异常表现
集群成员nomad server members成员缺失:影响仲裁,先确认节点状态
作业状态nomad status <job>频繁重调度:资源不足或任务启动失败
ACL不带 token 调 API能提交作业说明 ACL 未启用
节点状态nomad node status节点显示 down:检查探活与网络
Nomad 默认没有认证与授权,未启用 ACL 的 4646 可被任何可达主机用来提交作业;而它能在集群节点上运行容器或进程,因此这等价于远程执行能力,上线前必须同时开 ACL 并限制来源。

简单带来的默认值问题

Nomad 的设计目标是简单:一个二进制同时调度容器与普通进程,配置比大而全的编排系统轻。代价是安全相关的默认值同样「简单」——ACL、TLS、命名空间都要手工打开,装完按默认配置直接上线是这套系统最常见的风险来源。

生产上应同时启用 TLS 与双向校验,让 4646 与 4647 都加密。只开 ACL 不开 TLS 时,token 在 API 请求里明文传输,同网段可直接抓取。
不开 ACL 直连 4646:任意内网机器可提交特权任务接管节点,等同于远程代码执行。
ACL、命名空间等能力在不同版本间有差异,配置策略前先确认当前版本支持范围,避免照搬文档后规则静默不生效。
排查时要先把「API 面」和「调度面」分开看:API 端口通不代表任务能正常调度,节点资源不足或任务定义出错时,API 一切正常而作业一直起不来。

易错点

  • 不开 ACL 直接上线:内网任意主机可通过 API 提交任务接管节点
  • 只开 ACL 不开 TLS:token 明文传输,同网段可抓取
  • 4646 与 4647/4648 一起暴露到业务网:API 与集群内部通信都不该对业务面开放
  • CI 使用长期有效的管理级 token:流水线被入侵即集群被接管
  • 把 4646 交给负载均衡对外发布且不校验来源:API 面被放大到所有可达网段

数据来源与参考

  • HashiCorp Nomad 官方文档(4646/4647/4648)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌