运行 节点客户端程序
Run program in node client side
不知道我是否理解consul exec
的选项...
我有一个领事服务器和几个领事客户端:https://play.golang.org/p/s3N3r3lK9e(配置文件示例)
我想为每个客户端中的 运行 程序创建一个服务:
"service": {
"name": "runner", "port": 7700,
"check": {
"script": "/usr/local/bin/myApp --run"
}
}
当一个新的 KV 在 Consul 中写入时,我想在服务器端执行一个应用程序到 运行 在特定节点中调用 "runner" 的服务,换句话说我想在我的应用程序 consul exec -service=runner
到 运行 节点客户端中的另一个应用程序 (myApp --运行)。这个有可能?这就是consul exec
?
的意思
如果你不明白问题,我可以重写。
通常它用于所有节点上的常见作业。例如,像这样:sudo apt-get update
.
但是,请记住,它将在集群中的所有节点上 运行。所以,如果这个命令产生巨大的输出,那将是一团糟。
其次,无法保证执行。
对于这样的事情,我建议使用 Ansible、Chef 等系统
不知道我是否理解consul exec
的选项...
我有一个领事服务器和几个领事客户端:https://play.golang.org/p/s3N3r3lK9e(配置文件示例)
我想为每个客户端中的 运行 程序创建一个服务:
"service": {
"name": "runner", "port": 7700,
"check": {
"script": "/usr/local/bin/myApp --run"
}
}
当一个新的 KV 在 Consul 中写入时,我想在服务器端执行一个应用程序到 运行 在特定节点中调用 "runner" 的服务,换句话说我想在我的应用程序 consul exec -service=runner
到 运行 节点客户端中的另一个应用程序 (myApp --运行)。这个有可能?这就是consul exec
?
如果你不明白问题,我可以重写。
通常它用于所有节点上的常见作业。例如,像这样:sudo apt-get update
.
但是,请记住,它将在集群中的所有节点上 运行。所以,如果这个命令产生巨大的输出,那将是一团糟。
其次,无法保证执行。
对于这样的事情,我建议使用 Ansible、Chef 等系统