平台DNS服务

云帮使用开源的SkyDNS作为集群内部的DNS解析服务。提供内部各服务直接调用的 IP-->域名的解析服务。

云帮平台内部包含了多个服务和功能模块,平台运行时会进行各种服务的调用,由于云帮是安装在用户的环境中,IP地址是不可控的,因此我们在安装云帮的过程中获取本地的IP,并进行各个服务的内部域名注册。

解析的域名

SkyDNS的配置信息存放在Etcd服务中,可以通过etcdctl命令进行查看:

/opt/bin/etcdctl ls /skydns/me/goodrain
/skydns/me/goodrain/lang
/skydns/me/goodrain/maven
/skydns/me/goodrain/self
/skydns/me/goodrain/config
/skydns/me/goodrain/download
/skydns/me/goodrain/etcd
/skydns/me/goodrain/slug
/skydns/me/goodrain/webconsole
/skydns/me/goodrain/console
/skydns/me/goodrain/dns
/skydns/me/goodrain/region

etcdctl 命令因不同的版本差异路径会有所不同,可以使用 which etcdctl 来查找具体的位置,或者直接执行 etcdctl

更改SkyDNS的forwarding设置

平台默认会将forwarding设置为阿里的DNS解析,可以通过下面方式修改:

# 查看当前的配置
/opt/bin/etcdctl get /skydns/config
{"nameservers": ["223.5.5.5:53", "223.6.6.6:53"], "ttl": 600, "dns_addr": "0.0.0.0:53"}

# 修改forwarding
/opt/bin/etcdctl set /skydns/config '{"dns_addr":"0.0.0.0:53","ttl":3600,"nameservers": ["114.114.114.114:53","114.114.115.115:53"]}'

# 重启dns服务
dc-compose restart skydns