【问题标题】:How do I change the external DNS not kubernetes(CoreDNS)?如何更改外部 DNS 而不是 kubernetes(CoreDNS)?
【发布时间】:2023-01-15 07:56:31
【问题描述】:

我的 pod 找不到 URL https://nfe.sefaz.go.gov.br/nfe/services/NFeAutorizacao4

我做了一个测试,在其中一个 pod 的 /etc/resolve.conf 文件中添加了 DNS 8.8.8.88.8.4.4,并找到了 URL。

文件/etc/resolve.conf 看起来像这样

search default.svc.cluster.local svc.cluster.local cluster.local
nameserver 10.245.0.10
nameserver 8.8.8.8
nameserver 8.8.4.4
options ndots:5

我的问题是:

是否有正确的方法来更正集群 DNS 并以自动方式保留它?

我们使用 CoreDNS, 核心文件:

.:53 {
    errors
    health
    ready
    kubernetes cluster.local in-addr.arpa ip6.arpa {
      pods insecure
      fallthrough in-addr.arpa ip6.arpa
    }
    prometheus :9153
    forward . /etc/resolv.conf
    cache 30
    loop
    reload
    loadbalance
    import custom/*.override
}
import custom/*.server

【问题讨论】:

  • 您能找到任何 DNS 名称吗?您的 10.x.x.x 地址是您网络中的本地地址。他们是否有理由过滤您的请求?为什么不直接删除那行呢?
  • 地址 10.245.0.10 是集群中 CoreDNS 服务的 IP。此信息在创建 pod 时自动输入到 pod 的“resolve.conf”文件中。只有在 resolve.conf 文件中添加 Google DNS(8.8.8.8.8/8.8.4.4) 后,我才能找到提到的地址。
  • @Guilherme 你的问题解决了吗?如果是,您能否提供您遵循的解决步骤并将其作为答案提供给社区以提高知名度。

标签: kubernetes coredns kubernetes-dns


【解决方案1】:

我通过创建 ConfigMap 'coredns-custom' 解决了这个问题,这是 coredns 默认值

它看起来像这样:

apiVersion: v1
kind: ConfigMap
metadata:
  name: coredns-custom
  namespace: kube-system
data:
  custom.server: |
    specific-domain:53 {
      log
      forward . 8.8.8.8 8.8.4.4
    }

将“特定域”替换为某个特定域或“*”。

【讨论】:

    猜你喜欢
    • 2018-08-22
    • 2019-03-15
    • 1970-01-01
    • 2018-02-26
    • 2018-11-04
    • 2022-07-11
    • 1970-01-01
    • 2019-09-17
    相关资源
    最近更新 更多