首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何防止kube-dns将请求转发到8.8.8.8:53

如何防止kube-dns将请求转发到8.8.8.8:53
EN

Stack Overflow用户
提问于 2017-02-17 06:53:54
回答 1查看 931关注 0票数 2

如何防止kube将请求转发到Google的名称服务器(8.8.8.8:53和8.8.4.4:53)?我只想在内部使用吊舱,这意味着吊舱里的容器根本不应该连接到外面。当一个动物园管理员客户端使用主机名连接到一个动物园管理员服务器(例如,zkCli.sh -server ZK-1.zk无头)时,客户机需要10秒钟才能将其状态从连接更改为连接。我怀疑kube的原因是,使用pods的IP地址,客户端可以立即连接。当我查看kube的日志时,我发现了以下两行:

代码语言:javascript
复制
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找到了以下信息

  • 名为SKYDNS_NAMESERVERS的环境变量的默认值是"8.8.8.8:53,8.8.4.4:53"
  • 我可以通过将no_rec设置为来达到我的目的。

我一直在使用kubeadm启动Kubernetes,我无法找到修改环境变量和设置skydns属性值的方法。

如何防止kubeadm将请求转发到由kubeadm部署的内部Kubernetes集群的外部?

EN

回答 1

Stack Overflow用户

发布于 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中,您应该能够做到这一点。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42291264

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档