问题标签 [consul-template]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1925 浏览

templates - 如何用逗号连接领事模板的服务元数据

有谁知道如何将 consul 中的字符串连接为 consul-template?

如果我在 Consul 中注册了服务“foo”

我希望 consul-template 生成以下行:

以下尝试不起作用,因为它留下了尾随逗号,

我知道 consul-template 使用 golang 模板语法,但我根本无法弄清楚使这个工作正常的语法。我很可能应该使用领事模板join,但我如何同时传递.Address和传递.Portjoin?这只是一个简单的例子,我没有故意使用索引,因为服务的数量可能超过两个。有任何想法吗?

0 投票
1 回答
1345 浏览

haproxy - HAProxy & Consul-template:缩小时重试请求

我正在研究基于 Docker、registrator、consul 和 HAProxy 的微服务架构。

我也在使用 Consul-template 来动态生成 HAProxy 配置文件。一切正常:当我添加同一个微服务的多个实例时,HAProxy 配置会立即更新,并使用循环策略正确分派请求。

当我删除一些实例(按比例缩小)时,会出现我的问题。如果在请求运行时关闭容器,则会出现错误。

我是 HAProxy 的新手,所以有没有办法配置 HAProxy 来告诉它在容器消失时重试对另一个端点的失败请求?

精度:我正在为我的前端和后端使用 layer7 路由模式(模式 http)。这是我的领事模板文件的一个小样本:

谢谢您的帮助。

0 投票
1 回答
895 浏览

consul - HTTP API 调用创建 consul watch 和 consul exec

目前我正在使用 consul watch 和 consul exec 命令来创建手表以及运行一些 bash 命令。我想使用 http api 调用而不是命令来自动化我的系统。

是否有 http 等价物来完成这项工作?

任何帮助,将不胜感激。谢谢

0 投票
1 回答
1097 浏览

go - 在领事模板中,如何限制我所覆盖的元素数量?

以下是我使用服务呈现节点地址的代码:

我想要做的是限制呈现的地址数量。例如,如果有 5 个节点注册为“服务”提供者,我只想打印其中 2 个的地址。我认为我应该做的是对数组进行切片,但我无法正确使用 GO 语法。这是我想要但在语法上不正确的东西:

这样做的正确方法是什么?

0 投票
2 回答
2999 浏览

microservices - 领事注销“失败”服务

我在 Consul v0.5.2 版本上运行 consul,在 Mesos 中运行服务。服务不断从一台服务器移动到另一台服务器。

有没有办法在领事中注销处于“失败”状态的服务?我可以使用此 curl 获取处于失败状态的服务列表

我们看到的问题是在 consul UI 中的一段时间内,我们有陈旧的数据并使整个 UI 无法使用

0 投票
1 回答
219 浏览

consul - 领事模板在远程机器上不起作用

我有三台机器,例如:

并且所有 3 台机器都具有相同的领事配置文件,例如:

和运行 consul 的所有 3 台机器,只有服务器 portal2 运行 consul-template,使用命令:

我的领事模板配置文件,hosts.hcl:

但是当我在consul存储中更改k/v时,只有localhost portal2正确写入目标文件,远程机器portal0和portal1不起作用。我错过了什么???

0 投票
1 回答
975 浏览

consul - consul-template 可以创建配置文件吗

现在我知道 consul-template 可以在 consul 的 k/v 发生变化时管理配置文件内容,但是创建一个呢?例如,一个系统有很多用户,每个用户都有自己的配置文件,consul-template 能否为每个用户创建一个配置文件?如果他们的配置文件共享相同的模板。

0 投票
1 回答
259 浏览

go - 从 Vault KV 值构建动态字符串

我正在尝试创建类似的东西:

其中$v是动态值。我不知道如何让嵌套with语句将 vlaue 解析$v为它的参数。

0 投票
1 回答
3091 浏览

linux - 使 ExecStartPost 命令在后台运行

我有一个systemd服务,用于连接到consul服务器的 Spring Boot 应用程序,位于haproxy. consul提供通过命令consul-template自动更新haproxy配置文件中的服务位置。consul-template

consul-template获取一个模板文件并写入最终的 haproxy 配置文件,然后重新加载haproxy.

现在,consul-template进程需要始终与我的应用程序一起在后台运行,这样当应用程序启动时,它可以检测到新的应用程序启动并更新其在配置文件中的位置。

这是我的systemd服务文件。

现在,当我 start 时systemctl start myservice,我的应用程序启动并且调用consul-template也可以工作,但consul-template进程不会进入后台。我必须按下Ctl+C然后systemctl回来,我的应用程序和领事模板进程都在运行。

有没有办法consul-template在指定的后台运行进程ExecStartPost

我试图&在命令末尾添加ExecStartPost,但随后consul-template抱怨它是一个额外的无效参数并且它失败了。

我也试图将命令设为/bin/sh -c "consul-template command here...",但这也不起作用。即使nohup在这个命令中也不起作用。

非常感谢任何帮助。

0 投票
1 回答
1331 浏览

monitoring - 如何通过 http 端点监控 systemd 服务

我有一个进程,我想监控 consul-template,它是当前由 systemd 管理的进程。我使用 Pandora 来监控我的其他进程的 HTTP 端点,但是 consul-template 没有 HTTP 端点。

我想到了几种方法:

一种是使用 python 启动 HTTP 服务器,该服务器将在运行 consul-template 进程时运行,问题是我不确定我能否保证在进程退出时 HTTP 服务器会退出。我也不能保证像它一样简单的 HTTP 服务器不会独立崩溃。

另一种解决方案是安装 Monit,它是一个功能齐全的监控服务,并且只使用它而不是 systemd 来进行进程管理。这种方法意味着我现在必须监控 Pandora 和 Monit 并相应地设置警报,我宁愿只设置一个 HTTP 端点,这样我就只能从 Pandora 进行监控。