如何防止kube将请求转发到Google的名称服务器(8.8.8.8:53和8.8.4.4:53)?我只想在内部使用吊舱,这意味着吊舱里的容器根本不应该连接到外面。当一个动物园管理员客户端使用主机名连接到一个动物园管理员服务器(例如,zkCli.sh -server ZK-1.zk无头)时,客户机需要10秒钟才能将其状态从连接更改为连接。我怀疑kube的原因是,使用pods的IP地址,客户端可以立即连接。当我查看kube的日志时,我发现了以下两行:
07:25:35:170773 1 logs.go:41] skydns: failure to forward request "read udp 10.244.0.13:43455->8.8.8.8:53: i/o timeout"
07:25:39:172847 1 logs.go:41] skydns: failure to forward request "read udp 10.244.0.13:42388->8.8.8.8:53: i/o timeout"当客户端开始连接到服务器时,大约是07:25:30。
我在一个私有集群上运行Kubernetes,其中内部服务器通过http_proxy/https_proxy与internet通信,这意味着我无法连接到8.8.8.8以获得名称解析AFAIK。
我从https://github.com/skynetservices/skydns找到了以下信息
我一直在使用kubeadm启动Kubernetes,我无法找到修改环境变量和设置skydns属性值的方法。
如何防止kubeadm将请求转发到由kubeadm部署的内部Kubernetes集群的外部?
发布于 2017-08-03 13:38:42
我不认为有一个选项可以完全阻止kube-dns插件转发请求。当然,在kubeadm中没有任何选项可供选择。
您最好的选择是在kubeadmin启动集群并更改对您有用的东西之后,自己编辑kube-dns Deployment (例如kubectl edit -n kube-system deploy kube-dns)。
您可能希望尝试将上游名称服务器更改为8.8.8.8以外的群集可访问的名称服务器。通过将--nameservers=x.x.x.x添加到kubedns容器的args中,您应该能够做到这一点。
https://stackoverflow.com/questions/42291264
复制相似问题