我想从社区中获得关于为什么 MongoDB 的键/值会或不会是 etcd 或其他专门构建的键/值存储系统(consol、zookeeper 等)的合适替代品的一般想法。
我有一个成功启动 consul 的 docker compose 设置(在此处配置)。Vault 似乎启动正常,除了设置 TTL 时出现一些错误(此处记录)。
再往后, consul 在尝试访问 时似乎打嗝/v1/agent/check/fail/vault:127.0.0.1:8200:vault-sealed-check?note=Vault+Sealed。显然'vault:127.0.0.1:8200:vault-sealed-check' status is now critical。
consul1 | 2016/11/05 20:50:04 [DEBUG] agent: Check 'vault:127.0.0.1:8200:vault-sealed-check' status is now critical
consul1 | 2016/11/05 20:50:04 [DEBUG] agent: Service 'vault:127.0.0.1:8200' in sync
consul1 | 2016/11/05 20:50:04 [DEBUG] agent: Service 'consul' in sync
consul1 | 2016/11/05 20:50:04 [DEBUG] agent: Check 'vault:127.0.0.1:8200:vault-sealed-check' in sync
consul1 | 2016/11/05 20:50:04 [DEBUG] agent: Node info in sync
consul1 | 2016/11/05 …Run Code Online (Sandbox Code Playgroud) 我正在尝试将 dnsmasq 设置为 consul 的本地缓存。虽然这对于正常挖掘似乎工作正常,但 dnsmasq 似乎只允许部分区域传输。
我的resolv.conf:
search x.domain.com y.domain.com z.domain.com domain.com
nameserver 127.0.0.1
nameserver 10.0.0.1
nameserver 10.0.0.2
nameserver 10.0.0.3
options timeout: 2 attempts: 3
Run Code Online (Sandbox Code Playgroud)
我的 dnsmasq 设置只是设置为将请求转发.consul到同一台机器上的端口 3000,这是我的领事 dns 端口。否则,我使用 dnsmasq 默认值(将请求转发到 resolv.conf 中的其他 dns)。
server=/consul/127.0.0.1#3000
Run Code Online (Sandbox Code Playgroud)
这适用于普通挖掘并从服务器本地主机返回结果,例如。dig consul.service.consul +short将返回:
10.22.1.15
10.22.1.16
10.22.1.17
Run Code Online (Sandbox Code Playgroud)
正如预期的那样。普通 DNS(转发到 BIND dns 服务器)也可以正常工作,例如。dig host.hosts.domain.com +short将返回10.22.1.23
但是,在进行区域转移时,dig axfr us1.domain.comdig 将返回大约 700 行然后挂起,总是在同一个地方。如果我包括+retry=0dig;; connection timed out; no servers could be reached在 700 行之后的底部放置一个。 …
我需要知道是否有任何解决方案可以解决我的问题。我有一个 BIND DNS 服务器和 consul 作为服务发现者。这就是我想要的简单图:
如何配置此示例设置并让 BIND 将 A 记录解析为运行状况良好的负载均衡器服务器的 IP 地址?
如果客户端向 DNS 服务器查询 的 A 记录,则必须获取Healthy ( ) 服务器domain.example的 IP 地址192.168.1.100
consul for DNS 的示例配置显示了如何配置 SRV 记录,而不是 A 记录。我怎样才能让它与健康服务器的 A 记录一起工作。
我需要告诉领事绑定询问记录,但是怎么做呢?我的示例区域文件:
$TTL 300 ;
$ORIGIN example.com.
@ 1D IN SOA ns1.example.com. hostmaster.example.com. (
2002022401 ; serial
3H ; refresh
15 ; retry
1w ; expire
3h ; nxdomain ttl
)
www IN A 192.168.0.2 ; how can i tell bind using …Run Code Online (Sandbox Code Playgroud) consul ×4
bind ×1
dns-zone ×1
dnsmasq ×1
docker ×1
etcd ×1
healthcheck ×1
internal-dns ×1
mongodb ×1
zookeeper ×1