问题标签 [consul]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
509 浏览

docker - 领事和注册人到单一主机,有可能吗?

我需要使用 consul 和 registrator 管理多个 docker 容器到单个主机,目前我使用 docker-compose.yml 的“链接”,我将删除链接并使用 consul。我已经测试了单个主机的 consul 和 registrator,但是分配了 ip节点总是一样的。有可能是registrator分配了docker容器的ip而不是节点ip?

0 投票
2 回答
1518 浏览

web-services - 使用 Consul 跟踪所有 REST 端点

要求:5 个不同的内部应用程序公开 REST 端点。更多应用程序即将出现,这将暴露更多新端点。部署这些应用程序时需要能够自动注册新端点。以及某种可以列出集群中所有端点的 Web ui。

我们正在评估 consul.io,我不确定这是否符合要求。

我经历了领事教程,我对服务注册的概念感到困惑。

当应用服务器启动时,如何注册一个 RESTful 端点?此外,如果 app1 想知道 app2 公开的确切端点地址,app1 是否能够为此查询 consul?

还有其他要结帐的 git repo 吗?

PS。应用程序建立在播放框架上。

0 投票
2 回答
690 浏览

consul - Consul - 为不同的主机部署不同的配置

我正在尝试部署一个领事集群。我有以下机器:

我有 3 个单独的配置文件。每台服务器上各一个。

如果我添加一个新服务器(比如 web02),我怎样才能让它自动采用 web 服务器配置?

consul 是否支持配置发现,还是我需要使用 chef/puppet/ansible/salt 将 web config 部署到 web 服务器?

资源: https ://www.digitalocean.com/community/tutorials/how-to-configure-consul-in-a-production-environment-on-ubuntu-14-04

0 投票
4 回答
3163 浏览

consul - 领事 - 如果驱动器已满,则发出警报

在 consul 的演示中,有磁盘利用率和内存利用率的检查。在此处输入图像描述

http://demo.consul.io/ui/#/ams2/nodes/ams2-server-1

你怎么能写一个配置来做演示显示的事情?10% 的警告和 5% 的严重错误?

这是我正在尝试的

这是相同的脚本,但更易于阅读

看起来检查正在工作,但它没有打印出任何文本。如何验证这是否有效并打印输出?

在此处输入图像描述

0 投票
2 回答
11924 浏览

docker - consul healthcheck 运行后状态为“Dead”的 Docker 容器

我正在使用 consul 的健康检查功能,并且不断得到这些“死”容器:

究竟什么是“死”容器?停止的容器何时变为“死亡”?

作为记录,我运行 progrium/consul + gliderlabs/registrator images + SERVICE_XXXX_CHECK 环境变量来进行健康检查。它运行一个运行状况检查脚本,每 X 秒运行一次图像,例如docker run --rm my/img healthcheck.sh

我一般对“死亡”的含义以及如何防止它发生感兴趣。另一个奇怪的事情是我的死容器没有名字。

这是来自容器检查的一些信息:

奇怪的是,只有偶尔一个容器会死掉并且不会被移除。

谢谢

编辑:查看日志,我发现是什么导致容器停止失败:

为什么会这样?

编辑2:发现这个:https ://github.com/docker/docker/issues/9665

0 投票
1 回答
2261 浏览

spring - Spring cloud consul 类未找到 RestTemplateCustomizer

我想使用 spring cloud consul 进行服务发现,但是得到了 java.lang.ClassNotFoundException: org.springframework.cloud.client.loadbalancer.RestTemplateCustomizer,我在这里缺少什么?

我的 pom.xml

我的应用类

引导程序.yml

应用程序.yml

全跟踪

0 投票
2 回答
27904 浏览

ports - 领事使用的不同端口

consul使用了哪些不同的端口?每个端口的用途是什么?有没有办法配置领事使用不同的端口运行?

0 投票
3 回答
11643 浏览

persistence - Consul 是否保留键值存储?

我正在评估一些分布式键值存储,etcdConsul看起来都非常有前途。我对服务发现、健康监控和配置服务感兴趣。

我喜欢 Consul 提供的额外功能,但我无法确定它是否会在服务出现故障时保留 Key-Value 存储?似乎 etcd 提供了持久性。有什么建议吗?

0 投票
1 回答
598 浏览

consul - 领事代理没有回应

我在领事代理注册服务时遇到问题。consul 代理在集群成员信息中被列为活动,但它不注册服务或通过 HTTP 接口响应查询。日志中有错误,但我无法解释:

这是在此服务器上运行的领事代理的配置:

以及服务器的配置。集群有 3 个服务器代理。

0 投票
2 回答
2199 浏览

apache-zookeeper - Consul 等配置工具如何向客户端“推送”配置更新?

Chef/Puppet/Ansible 等传统的“静态”配置管理工具中剥离全局状态,转而将配置存储在一些集中/分布式工具中,其中主要参与者似乎是:

  • 动物园管理员(阿帕奇)
  • 领事(Hashicorp)
  • 尤里卡 (Netflix)

这些工具中的每一个都有不同的工作方式,但原理是相同的:

  • 将您的环境变量和其他动态配置(即,可能会更改的内容)作为键/值对存储在这些工具中
  • 在启动时通过客户端连接到这些工具/服务并下拉配置 KV 对。这通常需要客户端提供服务名称(“ MY_APP”)和环境(“ DEV”、“ PROD”等)。

有一个出色的 Consul Java 客户端,它精美地解释了所有这些,并提供了充足的代码示例。

这些工具的理解是,它们建立在诸如 Zab、Paxos 和 Gossip 等共识算法之上,这些算法允许配置更新几乎像病毒一样传播,并最终保持一致性,遍及您的节点。所以这里的想法是,如果你有一个myapp有 20 个节点的应用程序,比如说myapp01通过myapp20,如果你对其中一个节点进行配置更改,那么该更改将在几秒/分钟的时间内自然地“传播”到 20 个节点。

我的问题是:这些更新实际上是如何部署到每个节点的?在所有客户端 API(我在上面链接的那个,ZooKeeper API 或 Eureka API)中,我都没有看到某种可以设置并用于在集中式服务(例如 Consul)时通知客户端的回调功能集群)想要推送和重新加载配置更新。

所以我问:这应该如何工作(动态配置部署和客户端重新加载)?尽管 Consul 的 API 似乎是最先进的恕我直言,但我对这 3 个工具中的任何一个的任何可行答案都很感兴趣。