nacos-coredns-plugin部署 (golang<=1.14) 目前nacos-coredns-plugin的master分支使用的是 coredns v1.2.6 版本,里面的依赖由于时间太久没有更新,导入的时候会报错,所以需要切换到v1.6.7的分支。 coredns v1.6.7支持Go的modules模块功能,可以更好地管理项目依赖的导入。
1.切换v1.6.7分支 1 2 3 4 5 cd $GOPATH/src/ git clone https://github.com/nacos-group/nacos-coredns-plugin.git cd nacos-coredns-plugin git checkout -b v1.6.7 origin/v1.6.7 vi bin/build.sh
2.将build.sh脚本修改为以下内容: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 # !/usr/bin/env bash # cd GOPATHcd $GOPATH/src/ # remove codes rm -rf coredns rm -rf nacos-coredns-plugin # clone current codesgit clone https://github.com/coredns/coredns.git git clone https://github.com/nacos-group/nacos-coredns-plugin.git # cd coredns directorycd $GOPATHgit /src/nacos-coredns-plugin git checkout -b v1.6.7 origin/v1.6.7 cd $GOPATH/src/coredns git checkout -b v1.6.7 v1.6.7 go get github.com/cihub/seelog # copy nacos plugin to coredns cp -r ../nacos-coredns-plugin/nacos plugin/ cp -r ../nacos-coredns-plugin/forward/setup.go plugin/forward # insert nacos into plugin sed -i '/hosts/a\\t"nacos",' core/dnsserver/zdirectives.go sed -i '/coredns\/plugin\/hosts/a\\t_ "coredns/plugin/nacos"' core/plugin/zplugin.go sed -i '/hosts:hosts/a\nacos:nacos' plugin.cfg # build make
3.运行脚本编译nacos-coredns 1 2 3 cp bin/build.sh ~/ cd ~/ sh build.sh
4.创建nacos-coredns配置文件 1 2 3 cd $GOPATH/src/coredns mkdir conf vi conf/nacos-coredns.cfg
配置文件内容为:
1 2 3 4 5 6 7 8 . { log nacos { nacos_server 127.0.0.1 nacos_server_port 8848 } forward . /etc/resolv.conf }
nacos_server: Nacos服务器的ip,如果有两个或多个Nacos服务器,用逗号分隔
nacos_server_port: Nacos服务器端口
forward: 未在 Nacos 中注册的域名将被转发到上游。
5.在coredns模块下运行nacos-coredns-plugin 1 2 cd $GOPATH/src/coredns ./coredns -conf conf/nacos-coredns.cfg -dns.port 1053
6.测试dig $nacos_service_name @127.0.0.1 -p $dns_port 在终端中输入:
1 dig hello123 @127.0.0.1 -p 1053