1.kubectl logs -f coredns-99b9bb8bd-47mvf -n kube-system
.:53 2018/09/22 07:39:37 [INFO] CoreDNS-1.2.2 2018/09/22 07:39:37 [INFO] linux/amd64, go1.11, eb51e8b CoreDNS-1.2.2 linux/amd64, go1.11, eb51e8b 2018/09/22 07:39:37 [INFO] plugin/reload: Running configuration MD5 = f65c4821c8a9b7b5eb30fa4fbc167769 2018/09/22 07:39:38 [FATAL] plugin/loop: Seen "HINFO IN 8205794187887631643.5216586587165434789." more than twice, loop detected
參考這篇文章: https://github.com/coredns/coredns/issues/1986
從這篇文章得到提示,coredns pod會取宿主機的/etc/resolv.conf里面定義的nameserver作為自己的upstream server。而ubuntu的這個文件定義的nameserver是127.0.0.1,那么問題來了,coredns向127.0.0.1查詢,而127.0.0.1代表本機,就這樣形成死循環,也解釋了為什么上面的日志提示"loop detected"
- 修改/etc/resolv.conf
這個文件是自動生成的,無法手工修改。上網找了一大堆辦法
修改 /etc/network/interfaces
auto enp2s0
iface enp2s0 inet dhcp
dns-nameservers 114.114.114.114
systemctl restart networking
修改/etc/dhcp/dhclient.conf
prepend domain-name-servers 114.114.114.114;
systemctl restart networking
統統沒用,/etc/resolv.conf里面只有nameserver 127.0.0.1
蒼天不負有心人,終於被我找到這篇文章
https://askubuntu.com/questions/627899/nameserver-127-0-1-1-in-resolv-conf-wont-go-away/627900#627900
原來只要簡單粗暴地,把原來的/etc/resolv.conf刪掉,重新創建一個新文件,把nameserver寫進去,就行了
參考:http://blog.51cto.com/355665/2178181