[使用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但是我无法弄清楚如何将该示例用于我的用例。
鉴于还没有其他答案,让我描述一种可能的方法,实际上是两种。
[主要思想是使用CoreDNS'import指令-“ ...导入插件可用于将文件包含到主要配置中”。在CoreDNS手册中-“ ...此插件有点特殊,可以在Corefile中的任何位置使用。”
一个选项(#1)是编辑coredns
configMap以添加import
指令以包括来自另一个文件的配置,例如在这些configMap-s中的AKS和k3s;然后在部署配置中添加新卷-请参见here和here。
[另一个选项(#2)可以使用您的配置添加新的configMap,并且还从[stock]/etc/coredns/Corefile
configMap中导入作为卷装入的coredns
文件;更改coredns
deployment配置,从新的configMap中添加一个卷,然后将"-conf" argument指向从新的configMap中作为卷安装的文件。
缺点是,在以后的版本中,如果要更新coredns configMap和/或部署配置更改,则都必须重新实施更改。