HTTP API、nomad 命令行工具 和 Web界面
HTTP API
curl命令实际上是调用nomad agent端的HTTP接口,将本地的job.json提交到nomad agent端。
curl -XPOST "http://127.0.0.1:4646/v1/jobs" -d @job.json -s | jq
dtle rpm安装包提供了json和hcl格式的job样例。
jq
jq是一款格式化、提取json内容的工具。一般需使用Linux包管理器安装。
典型用法
# 格式化json内容:
some_command_print_json | jq
# 提取字段(Status):
some_command_print_json | jq '.Status'
具体参考 https://stedolan.github.io/jq/tutorial/
nomad 命令行工具
此外还可以使用nomad命令行工具。nomad将命令行工具和agent端放在了同一个可执行文件中。
使用 nomad 命令行工具运行job, 使用hcl格式:
nomad job run -address="http://192.168.1.1:4646" job1.hcl
# 或
export NOMAD_ADDR="http://192.168.1.1:4646"
nomad job run job1.hcl
该用法本质上是对HTTP API的封装。
nomad Web 界面
浏览器访问 http://127.0.0.1:4646, 为 nomad Web 界面。可查看Jobs、Servers和Clients。
在Jobs界面,点击Run Job,可运行HCL或JSON格式的job。
consul
- nomad 本体使用consul进行多节点注册和发现
- dtle nomad 插件使用consul进行任务元数据储存
浏览器访问 http://127.0.0.1:4646,为 consul Web 界面。可查看KV中的Job进度(Gtid)。
或
curl -XGET "127.0.0.1:8500/v1/kv/dtle/aa/Gtid?raw