tjtjtjのメモ

自分のためのメモです

nomad トライアル running

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"
}