consul dns 转发配置

 测试使用dnsmasq。
 优势:可以方便的进行应该编码,进行动态域名解析,容错处理。
  因为consul 默认的dns 为127.0.0.1 8600
 所以配置如下:
 文件目录:
  1. /etc/dnsmasq.d ### 目录下
  1. # Enable forward lookup of the 'consul' domain:
  2. server=/consul/127.0.0.1#8600
  3. # Uncomment and modify as appropriate to enable reverse DNS lookups for
  4. # common netblocks found in RFC 1918, 5735, and 6598:
  5. #rev-server=0.0.0.0/8,127.0.0.1#8600
  6. #rev-server=10.0.0.0/8,127.0.0.1#8600
  7. #rev-server=100.64.0.0/10,127.0.0.1#8600
  8. #rev-server=127.0.0.1/8,127.0.0.1#8600
  9. #rev-server=169.254.0.0/16,127.0.0.1#8600
  10. #rev-server=172.16.0.0/12,127.0.0.1#8600
  11. #rev-server=192.168.0.0/16,127.0.0.1#8600
  12. #rev-server=224.0.0.0/4,127.0.0.1#8600
  13. #rev-server=240.0.0.0/4,127.0.0.1#8600
一些额外的配置
 
  1. # Accept DNS queries only from hosts whose address is on a local subnet.
  2. #local-service
  3. # Don't poll /etc/resolv.conf for changes.
  4. #no-poll
  5. # Don't read /etc/resolv.conf. Get upstream servers only from the command
  6. # line or the dnsmasq configuration file (see the "server" directive below).
  7. #no-resolv
  8. # Specify IP address(es) of other DNS servers for queries not handled
  9. # directly by consul. There is normally one 'server' entry set for every
  10. # 'nameserver' parameter found in '/etc/resolv.conf'. See dnsmasq(8)'s
  11. # 'server' configuration option for details.
  12. #server=1.2.3.4
  13. #server=208.67.222.222
  14. #server=8.8.8.8
  15. # Set the size of dnsmasq's cache. The default is 150 names. Setting the
  16. # cache size to zero disables caching.
  17. #cache-size=65536
 
nginx 做为负载均使用的方式
 
 
使用nginx  的 resolver  
  1. resolver 127.0.0.1:8600;
  2. set $backend "nginx.service.consul";
  3. location / {
  4. proxy_pass http://$backend;
  5. }
 
详细参考:https://www.consul.io/docs/guides/forwarding.html
 
 
 
 
·