Kubernates CoreDNS 将公共 URL 指向内部服务器

Kubernates CoreDNS 将公共 URL 指向内部服务器

我有一个在 Kubernetes 集群中运行的应用程序,它正在访问公共 API URL,例如api.server123.com。该应用程序在其代码本身中访问它

/etc/host我想将该公共 UZRL 解析为内部 IP,就像我们在ie 条目中所做的那样,例如1.2.3.4 api.server123.com该 IP 属于我们的内部服务器之一。这是为了让我看到发送的有效负载和一些内部检查。

我可以通过 CoreDNS 做到这一点吗?

我这样做了,但似乎不起作用。

Corefile: |-
    .:53 {
        errors
        health
        kubernetes cluster.local. in-addr.arpa ip6.arpa {
            pods insecure
            upstream
            fallthrough in-addr.arpa ip6.arpa
        }
        hosts {
            1.2.3.4     api.server123.com
            fallthrough
        }
        prometheus :9153
        forward . /etc/resolv.conf
        cache 30
        reload
        loadbalance
    }

这是在 Kubernetes 中将公共 URL 解析为内部 IP 的正确方法吗?

答案1

我建议你使用转发插件用于 Corefile 配置。根据Kubernetes.io

forward:任何不在 Kubernetes 集群域内的查询都将被转发到预定义的解析器(/etc/resolv.conf)。

您可以在以下位置找到有用的示例coredns.io

相关内容