https://www.nomadproject.io/intro/getting-started/running.html
エージェントとは
クライアント - Nomadのクライアントは、タスクを実行できるマシンです。 すべてのクライアントがNomadエージェントを実行しています。 エージェントは、サーバーへの登録、割り当てられる作業の監視、およびタスクの実行を担当します。 Nomadエージェントは、サーバーとやり取りする長期にわたるプロセスです。 https://www.nomadproject.io/docs/internals/architecture.html
エージェントの起動
久しぶりにvagrant使う。パスワード思い出すのに時間がかかった。vagrant。 チュートリアルのまま dev モード? でエージェント起動。
$ vagrant ssh : : $ sudo nomad agent -dev : :
クラスタノード確認
$ vagrant ssh : $ nomad node status ID DC Name Class Drain Eligibility Status ed6136c5 dc1 nomad <none> false eligible ready
$ nomad server members Name Address Port Status Leader Protocol Build Datacenter Region nomad.global 127.0.0.1 4648 alive true 2 0.8.6 dc1 global
エージェントを停止する
ctrl-c でエージェントを停止する。こんなログを得た。これはエージェントがクラスタから退席しているのを表現しているのだとか。
^C==> Caught signal: interrupt
[DEBUG] http: Shutting down http server
[INFO] agent: requesting shutdown
[INFO] client: shutting down
[INFO] nomad: shutting down server
serf: Shutdown without a Leave
[ERR] nomad: "Node.GetClientAllocs" RPC failed to server 127.0.0.1:4647: rpc error: EOF
[DEBUG] consul.sync: registered 0 services, 0 checks; deregistered 0 services, 0 checks
[INFO] agent: shutdown complete
クラスタノード確認 2
リクエストするも失敗している。 ポート:4646 と 2つのエンドポイントを確認した。
$ nomad node status Error querying node status: Get http://127.0.0.1:4646/v1/nodes: dial tcp 127.0.0.1:4646: connect: connection refused $ nomad server members Error querying servers: Get http://127.0.0.1:4646/v1/agent/members: dial tcp 127.0.0.1:4646: connect: connection refusedv
エージェント起動してcurl
jq いれた
sudo apt -y install jq
curl してみた
$ curl http://127.0.0.1:4646/v1/nodes | jq
[
{
"Address": "127.0.0.1",
"CreateIndex": 6,
"Datacenter": "dc1",
"Drain": false,
"Drivers": {
:
},
"ID": "cfebff0f-e21e-fabb-c777-17f9d9ae8439",
"ModifyIndex": 9,
"Name": "nomad",
"NodeClass": "",
"SchedulingEligibility": "eligible",
"Status": "ready",
"StatusDescription": "",
"Version": "0.8.6"
}
]
curl http://127.0.0.1:4646/v1/agent/members | jq
{
"Members": [
{
"Addr": "127.0.0.1",
"DelegateCur": 4,
"DelegateMax": 5,
"DelegateMin": 2,
"Name": "nomad.global",
"Port": 4648,
"ProtocolCur": 2,
"ProtocolMax": 5,
"ProtocolMin": 1,
"Status": "alive",
"Tags": {
"mvn": "1",
"bootstrap": "1",
"region": "global",
"id": "eef87cd3-56e2-018d-b52a-6efc1952ce05",
"rpc_addr": "127.0.0.1",
"role": "nomad",
"raft_vsn": "2",
"port": "4647",
"dc": "dc1",
"vsn": "1",
"build": "0.8.6"
}
}
],
"ServerDC": "dc1",
"ServerName": "nomad",
"ServerRegion": "global"
}