是否可以使用Consul Template呈现节点的标准域名(而不是IP地址)?

时间:2019-08-05 09:36:46

标签: consul consul-template consul-kv

我正在尝试使用Consul Template为应用程序配置模板。我希望使用Consul可以发现的节点地址的格式为metrics-server(或metrics-server.example.com,然后可以解析)。

下面的代码当前呈现的是IP地址,例如125.32.546.1,而不是我需要的标准域名。

{{ with node }}{{ .Node.Address }}{{ end }}

是否有一种方法可以使用Consul Template语法而不使用.Node和其他解析来检索域名?

1 个答案:

答案 0 :(得分:0)

在查看了Consul源代码(特别是structs.go)后,经过反复试验,我确定了

{{ with node }}{{ .Node.Node }}{{ end }}

将渲染

metrics-server.example.com

然后,我使用一些Golang template逻辑在.上进行拆分,并获取结果切片的第一个元素。也就是说,

{{ with node }}{{ index (split "." .Node.Node) 0 }}{{ end }}

渲染

metrics-server