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を使用します
以下のような画面が出てきたら成功です

今後端末機同時に自動的に立ち上げるようにするには、以下のように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"
}
}'

コメント