我正在使用Traefik来加载跨领事注册的不同服务的平衡。我正在使用领事代表在Consul中定义服务时,通过添加标签来配置和覆盖其中一项服务的前端路由规则:tags=[“traefik.frontend.rule=PathPrefixStrip:/api,Host:api.service.consul”]我期待两者/api和api.service.consul解决我的服务,但只有/api成功,但是api.service.consul返回404错误。换句话说,只有第一个规则被考虑。如果我切换标签:tags=[“traefik.frontend.rule=Host:api.service.cons
希望在以下情况下对领事的表现有所帮助。我有两个在单独的AZ中设置的3个服务器的领事簇,但使用Join-WAN将它们连接起来。所有代理均为v0.8.5。使用“成员-wan”,我可以看到所有服务器都在闲聊。我刚刚进行了一个测试,其中我在一个AZ1中使用了一台服务器,使用name.service.datacenter.consul格式在AZ2中的服务器中使用loopforloop中执行DNS查找。这效果很好,直到我关闭AZ2中的单个服务器。几分钟后,AZ1不再可以在AZ2中进行查找服务。将服务器备份,查找重新开始工作,或者在服务器下方等待几分钟,查找将重新开始工作。本地查找继续在AZ2中工作,只是W
领事正在提供响应代码429(Toomanyrequests)用于健康检查。这是有效的回应吗?它暗示什么?API:operator/autopilot/health看答案如果您查看所讨论的代码:https://github.com/hashicorp/consul/blob/master/agent/agent/operator_endpoint.go#l311您会看到429完全正常,这是一个“警告”,这意味着该系统不是100%健康,但仍在工作。原始拉请请求有更多信息:github.com/hashicorp/consul/pull/2788原始答案:如果这是对您的一项服务进行健康检查,而不是返
我正在使用consul的健康检查功能,我不断收到这些“死”容器:CONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMES20fd397ba638progrium/consul:latest"\"/bin/bash-c'cur15minutesagoDead究竟什么是“死”容器?停止的容器什么时候会“死亡”?为了记录,我运行progrium/consul+gliderlabs/registratorimages+SERVICE_XXXX_CHECK环境变量来进行健康检查。它运行一个运行状况检查脚本,每X秒运行一次镜像,例如dockerrun--rmmy
我正在使用consul的健康检查功能,我不断收到这些“死”容器:CONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMES20fd397ba638progrium/consul:latest"\"/bin/bash-c'cur15minutesagoDead究竟什么是“死”容器?停止的容器什么时候会“死亡”?为了记录,我运行progrium/consul+gliderlabs/registratorimages+SERVICE_XXXX_CHECK环境变量来进行健康检查。它运行一个运行状况检查脚本,每X秒运行一次镜像,例如dockerrun--rmmy
以下是我使用服务呈现节点地址的代码:{{range"service@datacenter""passing"}}{{.Address}}{{end}}我想做的是限制呈现的地址数量。例如,如果有5个节点注册为“服务”提供者,我只想打印其中2个的地址。我认为我应该做的是对数组进行slice,但我无法正确使用GO语法。这是我想要的,但在语法上不正确:{{range"service@datacenter""passing"[0:2]}}{{.Address}}{{end}}正确的做法是什么? 最佳答案 找到了一个解决方案来限制可以使用con
有谁知道如何将consul的字符串连接到consul-template?如果我在Consul中注册了一个服务'foo'{"Node":"node1","Address":"192.168.0.1","Port":3333},{"Node":"node2","Address":"192.168.0.2","Port":4444}我希望consul-template生成以下行:servers=192.168.0.1:3333,192.168.0.2:4444/bogus以下尝试无效,因为它留下了尾随逗号,servers={{rangeservice"foo"}}{{.Address}}{{
我正在用马拉松部署一个简单的helloworldnginx容器,一切似乎都运行良好,除了我有6个不会从consul注销的容器。dockerps显示没有容器在运行。我尝试使用/v1/catalog/deregister端点取消注册服务,但它们不断返回。然后我杀死了注册器容器,并再次尝试取消注册。他们回来了。我正在使用运行注册器dockerrun-d--nameagent-registrator-v/var/run/docker.sock:/tmp/docker.sock--net=hostgliderlabs/registratorconsul://127.0.0.1:8500-dere
目的:获取一个docker容器,使用宿主机提供的DNS,它是运行在另一个容器中的consul代理,通过traefik反向代理访问可用的服务。设置主机:Ubuntu16.04.2LTSRegistrator向consul代理注册新容器,traefik是反向代理,用于负载平衡服务并使其可用。当您点击“/”路径时,有一个通用节点应用程序会返回“HelloWorld”容器1。dockerrun-d--net=hostconsulagent-dev容器2。dockerrun-d--name=registrator--net=host--volume=/var/run/docker.sock:/t