1. 程式人生 > >docker (centOS 7) 使用筆記5 - skydns

docker (centOS 7) 使用筆記5 - skydns

mac 測試 doc resolv api col 使用 添加 net

skydns被用於kubenets作為DNS服務。本次測試是單獨使用skydns作為DNS服務器,且作為loadbalance使用。

前提:需要先安裝配置etcd服務 (在前面的文章裏,已經安裝部署了etcd服務)

1. 下載安裝

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 &

3.測試

配置域名

# 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添加一行)

nameserver 10.10.10.101

測試DNS的loadbalance能力(4級域名最左邊的名稱去除)

# 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重試的時候使用了第二個IP

如果使用了域名全稱,則指向具體的IP

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

docker (centOS 7) 使用筆記5 - skydns