繁体   English   中英

Flask consul 和 consul DNS

Flask consul and consul DNS

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我正在尝试学习使用烧瓶和领事。

这是我的 /etc/consul.d/consul.json

{ "data_dir": "/opt/consul/data", "server": true, "bind_addr": "0.0.0.0", "bootstrap_expect": 1, "ui": true, "domain": "bino.inc ", "client_addr": "0.0.0.0", "node_name": "node01" }

使用 /usr/bin/consul agent -config-dir=/etc/consul.d/ 运行

使用 dig @127.0.0.1 -p 8600 node01.node.bino.inc 进行测试并得到 ;; 答案部分:node01.node.bino.inc。 0 中 192.168.1.5

我只是从https://github.com/vsudilov/flask-consulate复制一个例子,对它做一个小改动:

# Register Consul service:
consul.register_service(
    address='127.0.0.1',
    name='webapp',
    interval='10s',
    tags=['master', ],
    port=5000,
    httpcheck='http://localhost:5000/healthcheck'
)

consul.app.run(端口=5000,线程=假,调试=真)

看起来领事和烧瓶脚本相互通信。 烧瓶调试得到:

127.0.0.1 - - [15/Nov/2018 08:38:27] "GET /healthcheck HTTP/1.1" 200 -

我的问题是领事将生成的烧瓶脚本的 FQDN ?

我试过

挖@127.0.0.1 -p 8600 webapp.bino.inc

,和 consul debug 说:

2018/11/15 08:41:29 [警告] dns:QName 无效:webapp。

试过

挖@127.0.0.1 -p 8600 webserver.bino.inc

, consul debug 说:

2018/11/15 08:43:37 [警告] dns:QName 无效:网络服务器。

真诚的-bino-

1 个回复

通过 DNS 接口查询 Consul 中注册的服务需要服务 FQDN 的特定结构,如此链接中所述,用于标准查找( Conusl DNS 标准查找

向 Consul 注册的服务的 FQDN 必须采用以下形式:

<service>.service[.datacenter].<domain>

其中<service>是您向 Consul 注册的服务的名称,在您的情况下是webappwebserver <domain>consul.json定义的领事域。 [datacenter]是可选的,Consul server 会为其所属的数据中心返回服务。 由于您尚未在consul.json定义它, consul.json它是dc1

所以你的dig查询应该是这样的:

dig @127.0.0.1 -p 8600  webapp.service.bino.inc

或者

dig @127.0.0.1 -p 8600  webserver.service.bino.inc

或者,您可以尝试将数据中心添加到 FQDN。 您的dig查询应如下所示,并且应返回与上述相同的响应,因为您正在运行单个 DC 单节点 Consul 集群:

dig @127.0.0.1 -p 8600  webserver.service.dc1.bino.inc

我希望这有助于解决您的问题。

1 使用Consul DNS进行故障转移重做

旧的Redis主服务器下架后,Consul如何解析新的Redis主IP地址? 例如:我做到了,却做到了while true; do dig redis.service.google.consul +short; sleep 2; done while true; do dig redis.se ...

2 将DNS链接到领事节点

我正在尝试使用“使用Docker”(第11章)中的示例来设置领事代理。 该示例建议运行此命令以设置领事节点之一: 我假定带有-p 172.17.42.1:53:8600/upp的行正在使用适用于作者的IP地址将容器的DNS服务与领事节点链接。 我应该在这里使用哪个IP地址? ...

2016-01-15 19:51:30 2 151   consul
3 领事dns轮询和ping

我设置了包含3个服务器的测试集群。 Consul,dnsmask和NetworkManager安装在CentOS 7下的所有计算机上。 我想测试简单的循环程序: 预期 :ping consul.service.consul必须将icmp请求发送到三个服务器之一。 实际 :pi ...

4 使用 consul 和 dnsmasq 进行反向 dns 查找

我已经设置了 consul ( http://consul.io/ ) 和 dnsmasq 以便我可以拥有自己的内部 dns 分辨率。 我已经用 dig 测试了 consul 支持反向 dns 查找: 然而,通过 dnsmasq 反向 dnslookups 失败。 如何配置 dnsmasq 以将 ...

5 领事Java DNS SRV查找

我正在尝试使用Consul从使用Spotify的dnsjava在默认Debian服务器上运行的Java应用程序中进行服务发现 我知道Consul DNS在端口8600上侦听查询( https://www.consul.io/docs/agent/dns.html )。 但是,默认情况 ...

6 DNS配置,用于远程访问领事

我已经在具有3个服务器和1个客户端的AWS EC2上安装了consul 。 服务器IP = 11.XX.XX.1、11.XX.XX.2、11.XX.XX.3。 客户端IP = 11.XX.XX.4 consul配置:/etc/consul.d/server/config.json ...

8 如何使用 Consul DNS 向服务发送请求

我已经向 Consul 注册了一个服务,我可以使用 localhost:8080 连接到该服务,但是我想向 Consul 本身发送一个请求,然后让我直接访问该服务。 如何找到我的服务的 Consul URL 来执行此操作? 我的服务在 UI 中的名称是 dev-service-name-8080。 ...

2020-06-19 14:24:08 1 103   consul
9 在Docker环境中使用Consul DNS的Http请求

我的机器上有一个非常简单的领事和注册人撰写runnning。 我可以查询在领事中注册的服务列表,但是无法使用http调用其他服务。 码头工人组成: 我尝试使用axios,但听起来好像它没有使用配置的DNS。 我再次设法获得了我的服务清单。 因此,我可以注册服务,也可以使用co ...

10 使用主机上的consul DNS解析容器

目标:获取一个docker容器,以使用主机提供的DNS,该主机是在另一个容器中运行的consul代理,以访问通过traefik反向代理提供的服务。 设置主机:Ubuntu 16.04.2 LTS Registrator将新容器注册到领事代理,traefik是负责平衡服务并使其可用的反 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM