2016-10-04 19 views
0

我想在kube-system命名空间(此处提供的解决方案:https://stackoverflow.com/a/34085756/2461761)中向kube-dns添加其他名称服务器,但以自动方式执行此操作。设置SKYDNS_NAMESERVERS而不写入RC

所以我知道我可以通过https://github.com/kubernetes/kubernetes/tree/master/cluster/addons/dns创建我自己的DNS插件,并在系统的命名空间启动它,不过,我想提供一个简单的脚本来开发自旋了DNS解析自己的群建于和唐”不希望他们关心系统命名空间。

有没有办法修改/设置SKYDNS_NAMESERVERS环境变量而不必复制复制控制器?

甚至通过命令设置它并重新启动kube-dns部署的吊舱?

预先感谢您。

回答

0

我仍然认为“添加SKYDNS_NAMESERVERS到清单文件”解决方案是一个不错的选择。

假设开发者仍然需要启动集群,最好通过the manifest file提前设置上游DNS服务器,而不是在运行中更改它们。或者是否有任何要求在集群启动后需要执行此操作?

如果必须在一切正在运行时完成此操作,则一种方法是修改清单文件位于主节点上。对于当前版本的kubernetes(1.4),您还需要将ReplicationController名称修改为新名称,然后Addon Manager将为您更新资源。但请注意,由于当前的Addon Manager以delete-> create方式执行更新,因此会有kube-dns中断(可能是几秒钟)。

+0

这对GKE不起作用,因为: - 在创建群集时,kube-system命名空间会自动启动。 - 我真的很想不必为每个集群管理我自己的清单文件(为每个更新同步)。 - 群集所有权对每个团队都是独立的。 - 主人无法访问。 – Tony

+0

嘿,托尼,你最后的回复是完全正确的。 kube-dns现在支持本地添加上游域,您可能会发现这篇博文很有用:http://blog.kubernetes.io/2017/04/configuring-private-dns-zones-upstream-nameservers-kubernetes.html。 – MrHohn