我有一组服务器,它们将运行一个ruok
带有故障转移功能的简单命令。该命令将很简单,例如curl -X POST http://foo.com/status
。由于这个池中会有 3 到 300 个节点,因此我想确保此命令每十分钟仅发出一次。我遇到的问题是,除非我希望它们每 X 分钟发出一次,否则我无法直接向我的服务器添加 crontab。
我开始考虑使用HashiCorp 领事因为它的可用性相当高,而且似乎比etcd
或更容易Zookeeper
。但我不知道如何真正创建可以做到这一点的东西。
我将在所有服务器上使用此脚本
#!/bin/bash
curl -i -H "Accept: application/json" \
-H "Content-Type:application/json" \
-X POST --data '{"status":"ruok"}' "https://foobar.com/status"
那么我该如何编写 Consul 以便在节点池中运行它呢?
答案1
你可以使用这。
刚刚在 Google 上搜索了“使用 consul 的分布式 cron”。