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
相關文章
相關標籤/搜索