我正在使用Kubernetes,将* .api请求映射到*。
I found this thread可以帮助我实现这一目标,并且可以通过更新CoreDNS配置来发挥作用。
但是我想通过Yaml Apply做到这一点,以便可以轻松地将其部署到不同的环境。另外,如果CoreDNS配置在以后的版本中发生更改,我将不会得到这些更改。
所以我的问题是,如何应用yaml文件来实现这一目标:
rewrite stop {
name regex (.*)\.api {1}.some-namespace.svc.cluster.local
answer name (.*)\.some-namespace\.svc\.cluster\.local {1}.api
}
我找到了这篇文章:https://docs.microsoft.com/en-us/azure/aks/coredns-custom
但是我无法弄清楚如何在示例中使用该示例。
答案 0 :(得分:2)
鉴于还没有其他答案,让我描述一种可能的方法……实际上是两种。
主要思想是使用CoreDNS的import指令-“ ...导入插件可用于将文件包含到主配置中”。并从CoreDNS手册中获得“ ......该插件有点特殊,因为它可以在Corefile中的任何位置使用。”
一个选项(#1)是编辑coredns
configMap以添加import
指令,以包括来自另一个文件的配置,例如在AKS和{{3}的这些configMap-s中};然后在部署配置中添加新卷-请参见k3s和here。
另一种选择(#2)可能是在配置中添加新的configMap,并且还会从“ stock” /etc/coredns/Corefile
configMap中导入作为卷装入的coredns
文件;更改coredns
部署配置,以从新的configMap中添加一个卷,并将here指向从新的configMap中作为卷装入的文件。
缺点是,在以后的版本中,如果coredns configMap和/或部署配置更改都必须重新实施更改。