使coredns响应依赖于k8s集群中的客户端名称空间

时间:2018-07-05 12:30:12

标签: dns kubernetes coredns

如何使coredns对来自k8s群集中不同名称空间的同一域查询使用不同的IP地址进行响应?

我希望它的行为像这样:

namespace A (inside k8s cluster):
domain “abc.foo.bar” query  —— coredns1---—> response 192.168.0.100 (outside k8s cluster)

namespace B (inside k8s cluster):
domain “abc.foo.bar” query  —— coredns1---—> response 192.168.0.101 (outside k8s cluster)

namespace C (inside k8s cluster):
domain “abc.foo.bar” query  —— coredns1---—> response 192.168.0.102 (outside k8s cluster)

1 个答案:

答案 0 :(得分:0)

默认安装中的

CoreDNS不能为不同的区域提供服务,具体取决于查询来自的名称空间的来源。  为实现不同的传入查询,由CoreDNS提供不同的答案 在名称空间上,您需要为各个名称空间创建CoreDNS的单独实例。 第二个问题是需要CoreDNS缓存答案。实现 对于不同的查询,需要具有单独的缓存。

好消息是-CoreDNS正在为plugins提供一个接口,因此您可以为自己的插件编写插件 目的。