etcd3 coredns設定網域名稱解析

2021-09-24 03:49:25 字數 2426 閱讀 9646

@etcd3+coredns設定網域名稱解析

本文將etcd3作為coredns的後端實現動態的網域名稱解析功能,並使用curl命令操作etcd3中的資料,實現遠端新增網域名稱網域名稱解析的功能。

使用yum安裝,最簡化配置,非集群安裝

yum install –y etcd

修改配置,將/etc/etcd/etcd.conf 配置中『etcd_listen_client_urls』和『etcd_advertise_client_urls』修改為「

啟動etcd

systemctl start etcd
解壓安裝:

tar zxvf coredns_1.3.0_linux_amd64.tgz

mv coredns /usr/bin

mkdir /etc/coredns

新增主配置檔案/etc/coredns/corefile

vim /etc/coredns/corefile

.:53 

prometheus # 監控外掛程式

cache 160

loadbalance # 負載均衡,開啟dns記錄輪詢策略

proxy . 8.8.8.8:53 8.8.4.4:53 /etc/resolv.conf # 上面etcd未查找到的請求**給設定的dns伺服器解析

log # 列印日誌

}

啟動coredns

nohup /usr/bin/coredns -conf /etc/coredns/corefile > /tmp/coredns.log 2>&1 &

coredns只能使用etcd v3版本api新增的資料,etcdctl命令預設使用v2版本api,設定v3 api方法:

export etcdctl_api=3

或者新增以下內容到環境變數 vim ~/.bash_profile:

export etcdctl_api=3

通過etcdctl設定網域名稱解析:

(1)a記錄

解析:dig @localhost +short www.test6.com

(2)aaaa記錄

解析:dig -t aaaa @解析ip +short aaaa.test6.com

(3)txt記錄

解析:dig -t txt @localhost +short txt.test6.com

(4)mx記錄

解析:dig -t mx @localhost +short mail.test6.com

檢視etcd中資料

etcdctl get /skydns/com/test6/www#查詢對應資料

etcdctl get /skydns --prefix#檢視以」/skydns」為開頭的資料

注意:通過curl和postman向etcd3中匯入資料,並通過網域名稱解析,必須使用base64編碼

準備key值和value值的base64編碼

key值(/skydns/com/last/www):

value值(a記錄:,aaaa記錄:,txt記錄:, mx記錄:)

將生成的base64編碼匯入etcd,在「ip:port」與「kv」之間的資訊要根據etcd3的版本進行分別設定,具體如圖(curl -d '' -x post:

解析(相對檔案位置倒著排列到skydns資料夾之前,具體解析方式參考第四節):

dig @ip +short www.last.com

curl查詢

公式:curl -d '' -x post http://ip:port/v3alpha/kv/range

etcd集群搭建 3個節點

參考 os ubuntu 16.04 搭建乙個三節點的etcd集群 etcd1 192.168.122.103 etcd2 192.168.122.208 etcd3 192.168.122.1 curl wget tar zxvf etcd v3.3.1 linux amd64.tar.gz cd...

etcd3進行配置管理

最近在用golang 做乙個系統,裡面有乙個需求是可以隨時暫停某項功能,這個涉及到執行時動態改變配置。首先配置寫死在 中,是絕對不可能實現這個需求的,每次從資料獲取,雖說可以解決這個問題,但是耗時,每次請求都要去查資料庫。有人會說引入快取儲存從資料庫查詢的值,定時去同步資料中的值到快取。這是乙個可行...

python3 paramiko 巡檢網路裝置

用paramiko做網路裝置巡檢,發現大坑,就是show run這種看配置有多頁存在的沒法顯示第二頁,沒找到paramiko翻頁的地方,新增多個空格也不是很好使。避開這個坑,自動登入搞定了後面命令怎麼傳都是小事了,傳參參考第二個指令碼吧。cisco的全頁列印顯示配置資訊的命令 terminal le...