【问题标题】:Update CoreDNS config via configmap通过 configmap 更新 CoreDNS 配置
【发布时间】:2019-10-28 14:49:59
【问题描述】:

使用 Kubernetes,我正在尝试将 *.api 请求映射到 *.
I found this thread,这有助于我如何实现这一点,并且它通过更新 CoreDNS 配置来工作。
但我想通过 yaml 应用来做到这一点,这样它就可以很容易地部署到不同的环境中。此外,如果 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
但我无法弄清楚如何将该示例用于我的用例。

【问题讨论】:

    标签: kubernetes yaml coredns


    【解决方案1】:

    鉴于目前还没有其他答案,让我描述一种可能的方法……实际上是两种。

    主要思想是使用 CoreDNS 的 import 指令 - “...导入插件可用于将文件包含到主配置中”。并且来自 CoreDNS 手册 - “...这个插件有点特别,它可以在 Corefile 的任何地方使用”。

    一个选项 (#1) 是编辑coredns configMap 以添加import 指令以包含来自另一个文件的配置,例如AKSk3s 的这些configMap-s;然后在部署配置中添加一个新卷 - 请参阅 herehere

    另一个选项 (#2) 可能是使用您的配置添加一个新的 configMap,并且还从“库存”coredns configMap 导入作为卷安装的 /etc/coredns/Corefile 文件;更改 coredns deployment 配置以从新 configMap 添加一个卷,并将 "-conf" argument 指向作为卷从新 configMap 挂载的文件。

    一个缺点是,如果在以后的版本中 coredns configMap 和/或部署配置发生更改,则在这两种情况下您都必须重新实施更改。

    【讨论】:

    • 谢谢。听起来顺其自然并丢失我在应用程序中使用的 URL 的 .api 部分会少很多麻烦;-)
    猜你喜欢
    • 1970-01-01
    • 2022-12-18
    • 2018-10-04
    • 2019-02-10
    • 2021-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-07
    • 2015-01-24
    相关资源
    最近更新 更多