とりあえずのメモの cloudpackかっぱ (@inokara) です。

目的

  • こちらの記事の続編
  • hosts に登録された HAProxy ノードにラウンドロビンでアクセスさせる
  • dnsmasq にアクセスさせることで ConsulAmazon Route53 への負荷の軽減とレスポンスの向上を図る

メモ

dnsmasq のインストール

yum -y install dnsmasq
chkconfig --level 3 dnsmasq on

dnsmasq のセットアップ

cat << EOT > /etc/dnsmasq.conf
strict-order
addn-hosts=/etc/add_hosts
expand-hosts
domain=your_domain.internal
EOT

/etc/resolv.conf の修正

; generated by /sbin/dhclient-script
search your_domain.internal
nameserver 127.0.0.1
nameserver xxx.xxx.xxx.2

上記を既存の nameserver 行の上に設置。

resolv.conf を上書きされないようにする

/etc/sysconfig/network-scripts/ifcfg-eth0

に以下を追記。

PEERDNS=no

network を再起動。

service network restart

テンプレートファイルの修正

/etc/add_hosts.ctmpl

を以下のように作成。

{{range service "service_name"}}
{{.Address}} service_name {{.Node}}{{end}}

consul-template の再起動

consul-template -consul 127.0.0.1:8500 -template "/etc/add_hosts.ctmpl:/etc/add_hosts:service dnsmasq restart" &

確認

cat /etc/add_hosts
ping -c 1 service_name
dig service_name

とりあえず…

メモでした。

元記事はこちらです。
consul-template と dnsmasq でラウンドロビン