问题描述:
搭建好 k8s 集群,使用 sonobuoy 对集群进行 e2e 测试,总有以下几个用例过不去:
[Fail] [sig-network] DNS [It] should provide DNS for the cluster [Conformance]
/workspace/anago-v1.14.2-beta.0.85+66049e3b21efe1/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/test/e2e/network/dns_common.go:508
[Fail] [sig-network] DNS [It] should provide /etc/hosts entries for the cluster [LinuxOnly] [Conformance]
/workspace/anago-v1.14.2-beta.0.85+66049e3b21efe1/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/test/e2e/network/dns_common.go:508
[Fail] [sig-network] DNS [It] should provide DNS for services [Conformance]
/workspace/anago-v1.14.2-beta.0.85+66049e3b21efe1/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/test/e2e/network/dns_common.go:508
反复搭建集群,使用不同的网络插件,均宣告失败!
通过查看 CoreDNS 的日志,发现总是请求一些后缀为 mshome.net 的域名。
经过一番查找,发现该后缀域名的产生是由于 DNS 污染引起的(比如 windows 网络共享),
恰好我的集群环境存在开启网络共享功能的 Windows 服务器,集群错误地从其 DHCP 获取到了错误的 DNS 信息
问题解决:
将集群节点的网络配置为手动设置网络地址和 DNS,重新跑测试,完美通过!