我想在kube-dns
命名空间(此处提供的解决方案:https://stackoverflow.com/a/34085756/2461761)中向kube-system
添加其他名称服务器,但是会以自动方式执行此操作。
所以我知道我可以通过https://github.com/kubernetes/kubernetes/tree/master/cluster/addons/dns创建我自己的dns插件并在系统的命名空间中启动它,但是,我试图为开发人员提供一个简单的脚本来启动他们自己的集群内置DNS解析,并且不希望它们与系统命名空间有关。
有没有办法修改/设置SKYDNS_NAMESERVERS
环境变量而不必复制复制控制器?
甚至可以通过命令设置它并重新启动kube-dns
部署的pod?
提前谢谢。
答案 0 :(得分:1)
我仍然认为"将SKYDNS_NAMESERVERS
添加到清单文件"解决方案是一个不错的选择。
假设开发人员仍然需要启动集群,最好通过the manifest file提前设置上游DNS服务器,而不是动态更改它们。或者是否有任何要求在群集启动后需要这样做?
如果必须在一切运行时完成此操作,则一种方法是修改主节点上的清单文件。对于当前版本的kubernetes(1.4),您还需要将ReplicationController名称修改为新名称,然后Addon Manager将为您更新资源。但请注意,中间存在kube-dns中断(可能是秒),因为当前的Addon Manager以delete-> create方式执行更新。