首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法读取带有consul-template的服务元

无法读取带有consul-template的服务元
EN

Stack Overflow用户
提问于 2018-10-12 04:07:45
回答 1查看 1.2K关注 0票数 5

我向Consul注册了一个测试服务,服务定义如下:

代码语言:javascript
复制
{
  "name": "web",
  "tags": ["web1"],
  "address": "example.com",
  "meta": {
    "meta": "cluster",
    "acl": "host_test",
    "cluster": "test_cluster"
  },
  "port": 8000
}

我想使用consul-template将该信息加载到HAProxy配置中。我可以按照文档中的说明获取地址和端口:

代码语言:javascript
复制
{{ range service "web" }}{{if in .Tags "web1"}}
    server {{.Node}} {{ .Address }}:{{.Port}} cookie A check
    {{ end }}{{end}}

但我似乎无法获得元信息。我想我可以在服务范围内使用类似以下内容来访问它:

代码语言:javascript
复制
 {{range .Meta}}
  {{.}}{{end}}

您知道如何从meta中获取acl或集群吗?

EN

回答 1

Stack Overflow用户

发布于 2019-03-28 04:22:09

为了使用元映射中的键:值对,您需要使用index。此外,服务上的元图称为.ServiceMeta

例如,要在元数据中获取键acl的值,您可以使用:

代码语言:javascript
复制
{{index .ServiceMeta "acl"}}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52768157

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档