Dkronをraspi上に立てる

DkronをRaspi上に立てる

Dkronとは

Dkronは、分散型のジョブスケジューラー(cron代替ツール)です。

  • 従来のcronを分散システムに拡張したもの
  • 複数のサーバーでジョブを管理・実行
  • 単一障害点(SPOF)を排除

など、cronを実務で運用するうえで課題になる冗長性を確保してくれています。

公式サイト

install

公式のinstall手順に従います。

apt repositoryの追加

echo "deb [trusted=yes] https://repo.distrib.works/apt/ /" | sudo tee /etc/apt/sources.list.d/dkron.list

packageのupdate

sudo apt-get update

Dkronをinstall

sudo apt-get install dkron

起動

dkron agent --server --bootstrap-expect=1

--bootstrap-expect=1は1台のサーバーでクラスタを形成する、というオプションです、実務では3台以上で冗長構成を取ることが推奨されます

後からサーバーを追加する場合は--joinを使用します

以下のような画面が出てきたら成功です

file

今後端末機同時に自動的に立ち上げるようにするには、以下のようにsystemctlで有効化します

sudo systemctl enable dkron

Jobの登録

GUIからでも行えますが、ひな形をつくるにはAPIを利用するのが楽です

curl -X POST http://localhost:8080/v1/jobs \
  -H "Content-Type: application/json" \
  -d '{
    "name": "my-job",
    "schedule": "@every 10m",
    "executor": "shell",
    "executor_config": {
      "command": "echo Hello World"
    },
    "tags": {
      "server": "server1:8946"
    }
  }'

トラブルシューティング

コメント

タイトルとURLをコピーしました