我向Consul注册了一个测试服务,服务定义如下:
{
"name": "web",
"tags": ["web1"],
"address": "example.com",
"meta": {
"meta": "cluster",
"acl": "host_test",
"cluster": "test_cluster"
},
"port": 8000
}我想使用consul-template将该信息加载到HAProxy配置中。我可以按照文档中的说明获取地址和端口:
{{ range service "web" }}{{if in .Tags "web1"}}
server {{.Node}} {{ .Address }}:{{.Port}} cookie A check
{{ end }}{{end}}但我似乎无法获得元信息。我想我可以在服务范围内使用类似以下内容来访问它:
{{range .Meta}}
{{.}}{{end}}您知道如何从meta中获取acl或集群吗?
发布于 2019-03-28 04:22:09
为了使用元映射中的键:值对,您需要使用index。此外,服务上的元图称为.ServiceMeta。
例如,要在元数据中获取键acl的值,您可以使用:
{{index .ServiceMeta "acl"}}https://stackoverflow.com/questions/52768157
复制相似问题