问题标签 [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.
java - Java Spring 在作为 Docker 容器运行时不会与 Consul 对话
我正在尝试解决我认为运行微服务的常见用例。在这种情况下,我正在使用 spring 云应用程序测试 consul。我正在尝试以两种不同的方式测试领事。第一个在 docker 容器中运行,另一个在 docker 主机上运行。然后我试图启动一个将与任一领事示例交谈的弹簧云容器。
当spring cloud应用程序作为docker容器运行时,我无法让spring cloud应用程序与consul对话。当 Spring Cloud 应用程序以主机网络模式运行时,它可以解析 localhost 端口,但如果我希望运行图像的多个实例,这不是一个可接受的解决方案。
下面显示了将这两个服务作为容器运行时我的 docker compose 文件的示例。在这里,我试图通过环境变量在 spring cloud 中设置 consul uri,但无法使用各种配置使其工作。如果有人能指出这些功能协同工作的示例,那将非常有帮助。
consul - 领事:一个现有的连接被远程主机强行关闭
当我开始将代理加入 Consul 集群时,它显示错误消息..
consul - consul 一次请求查询所有服务节点
https://www.consul.io/docs/agent/http/catalog.html
/v1/catalog/services:列出给定服务中的节点
我有很多服务,必须为每个节点查询 consul .. THUS 这被多次调用
/v1/catalog/service/ :服务的节点
需要一个 http api 来在一个请求中获取所有服务,比如
/v1/catalog/servicesNodes :每个服务的节点
amazon-ec2 - EC2 Docker Consul 集群
我确信这个答案就在某个地方,但经过几次尝试后我无法找到或修复它。这是用例:
1.> 我有两个 ec2 实例属于同一个 VPC 但具有不同的安全组
2.> 两个安全组都有 22,80(公共)和来自所有为 CIDR 块 10.20.0.0/16 开放的端口的所有流量
3.> EC2实例的内部IP为10.20.0.51(server-1)和10.20.0.202(server-2)
4.> 我正在使用以下命令在它们上运行两个 dockerized consul 服务器
5.> 他们都开始了,一秒钟后他们互相认识,选举发生,第一个节点被选举,但不久之后 server-2 开始说“成员列表:怀疑节点 1 失败,没有收到确认”和 server-1还说“成员列表:怀疑节点 2 失败,未收到任何确认”
这是 server-1 的日志的样子
对于服务器 -2
我到底做错了什么。我只想在两个 EC2 实例中运行两个 consul docker 并在它们之间进行通信,而无需显式打开安全组中的端口(当我显式打开它们时,它当然可以工作!)
请有人帮忙。
谢谢
kubernetes - 基于经过身份验证的用户活动的应用程序启动和关闭
企业中有一些应用程序和服务不需要一直运行并且用户群有限(比如少数人)。
这些应用程序可以根据调度甚至更好的用户活动来关闭和启动。因此,我们谈论的是按需服务(比如由容器包装)和节点启动和关闭。
现在,首先要提到我之所以提到经过身份验证的用户活动是因为在此基础上启动和关闭是有意义的(即不基于较低级别的网络流量)。可以想象涉及到企业 SSO(比如基于 OAuth 2)。
所以,我的问题是,是否有人尝试使用 Consul 或 Kubernetes 来实现我所描述的内容?
在 Consul 的情况下,键值存储可用于为“Micro”(即小型用户群)类应用程序提供 TTL,每次经过身份验证的用户请求访问给定的“Micro”类应用程序时TTL 已更新。在 TTL 窗口期间,我们想要检查节点、容器和服务的健康状况——在我们不希望的窗口之外(因为我们想要保存在 op ex 上)。
这个问题与这个 autoscaling question类似,但不同之处在于这个用例是关于从 0 个节点扩展到基于经过身份验证的用户群(最有可能使用 SSO)的 0 个节点。
templates - 在领事模板的循环中覆盖变量
我在领事模板中使用以下模板:
产生
在哪里.Name
并且geoserver_dev_hello_org
有一个server_name=geoserver.hello.org
标签。我希望在.Tags
范围循环结束时,$server_name
应该有 value geoserver.hello.org
,但它仍然具有原始值geoserver.dev.hello.org
。
如何使循环覆盖$server_name
(并在找到值时退出循环)?
docker - Docker 容器无法通过覆盖网络连接
我有多个运行 Docker 的主机,我使用 Consul 作为键值存储。我能够创建覆盖网络,容器可以看到彼此的主机名和 IP,/etc/hosts 在创建/销毁容器时很好地更新。但是,不同主机上的容器实际上不能相互连接(同一主机上的容器可以)。
我一直在调查日志,Docker 守护进程日志包含以下内容:
Docker 守护进程是否应该以某种方式识别自己?看起来 Serf 很困惑,因为每个守护进程只使用主机名作为标识符。
configuration - Are service discovery tools responsible for providing service credentials as well?
I am trying to understand some basic concepts as I am still new to the concept of service discovery and cloud programming (excuse the cliché). A question that has been in my head for some time is: are service discovery solutions like Consul, etcd & Zookeeper responsible for providing service credentials as well?
For example, if we have a web application which queries information about the location of database server(s), who is responsible for providing it with the credentials (username, password) for connecting to it? I do know that this is probably subjective but I would be glad to learn more about best practices related to that.
consul - 将 DNS 链接到领事节点
我正在尝试使用“使用 Docker”(第 11 章)中的示例来设置领事代理。该示例建议运行它来设置其中一个领事节点:
我假设-p 172.17.42.1:53:8600/upp
使用对作者有效的 IP 地址将容器的 DNS 服务与 consul 节点链接起来。我应该在这里使用什么 IP 地址?
java - 如何在 HashiCorp Consul 中自定义管理端点路径
如果我尝试将Spring Boot Consul应用程序的管理端点自定义到其他路径,例如:
HashiCorp Consul 服务器无法检测到微服务是否正常工作。是否有任何通知 Consul 服务器应该寻找什么端点路径?
如果我评论属性“management.context-path”,Consul 服务器再次正常工作,因为返回到根端点路径。
我很感激任何帮助。