docker (centOS 7) 使用笔记6 - skydns

skydns被用于kubenets做为DNS服务。本次测试是单独使用skydns做为DNS服务器,且做为loadbalance使用。git

前提:须要先安装配置etcd服务 (在前面的文章里,已经安装部署了etcd服务)github

 

1. 下载安装api

go get github.com/skynetservices/skydns
cd ~/go/src/github.com/skynetservices/skydns
go build -v

 

2. 启动服务器

#etcd的client URL,能够指定集群的多个地址,用逗号分隔
export ETCD_MACHINES="http://10.10.10.101:2379"
#指定监听地址为内网IP
nohup ./skydns -addr 10.10.10.101:53 &

 

3.测试测试

配置域名ui

# 1.api_test.skydns.local
etcdctl set /skydns/local/skydns/api_test/1 '{"host":"10.10.10.102"}'
# 2.api_test.skydns.local
etcdctl set /skydns/local/skydns/api_test/2 '{"host":"10.10.10.103"}'

添加DNS解析(/etc/resolv.conf添加一行)spa

nameserver 10.10.10.101

测试DNS的loadbalance能力(4级域名最左边的名称去除)code

# telnet api_test.skydns.local 8080
Trying 10.10.10.102...
telnet: connect to address 10.10.10.102: Connection refused
Trying 10.10.10.103...
telnet: connect to address 10.10.10.103: Connection refused

 

能够看到telnet重试的时候使用了第二个IPserver

若是使用了域名全称,则指向具体的IPblog

# telnet 1.api_test.skydns.local 8080
Trying 10.10.10.102...
telnet: connect to address 10.10.10.102: Connection refused
相关文章
相关标签/搜索