如何给 Consul 手表添加标签

How to add tags to Consul watch

我有点困惑。我有这样一个 Consul (v.1.0.7) 手表的文件。

{
  "watches": [{
      "type": "service",
      "service": "server-devenv-devplatform-common",
            "tag": ["devenv","devplatform","common"],
            "args": ["/opt/consul_watches_handler.sh"]
    }]
}

它没有按预期工作,给我这个错误:

Failed reloading watches: Failed to parse watch (map[string]interface {}{\"tag\":[]interface {}{\"devenv\", \"devplatform\", \"common\"}, \"args\":[]interface {}{\"/opt/consul_watches_handler.sh\"}}): Expecting tag to be a string)"] "stdout": "", "stdout_lines": []}

没有带 标签的行,它工作正常。但是它是按照手册中的描述制作的:

https://www.consul.io/docs/dynamic-app-config/watches

并且还可以在带有标签的其他服务器上工作。 我将不胜感激任何帮助。

Consul 1.5.0 中添加了在服务监视处理程序中使用多个标签的功能,并带有 PR hashicorp/consul#5725

此版本要求未在文档中提及,Consul 1.5.0 changelog 中也未列出新增功能,因此您不了解此最低版本要求是完全可以理解的。