添加kubernetes服务DNS别名

Jor*_*rda 5 kubernetes google-kubernetes-engine

对于公开公开的Kubernetes服务-键入LoadBalancer-我们有一个指向外部ip地址的dns记录。

在每项服务中,我们都使用与外部名称绑定的LetsEncrypt证书进行TLS终止。也不允许在证书中添加内部名称。

我想做的是使用外部名称使用相同Kubernetes集群连接中的任何应用程序,但保持内部通信。

有什么方法可以在Kubernetes集群中提供dns记录,以将相同名称解析为内部服务ip地址吗?

isa*_*iro 1

作为参考,您可以通过配置 CoreDNS来实现这一点。将从外部 DNS 名称链接到命名空间中服务foo.example.com的内部 IP 的示例配置foodefault

    .:53 {
        errors
        log
        health
        rewrite name foo.example.com foo.default.svc.cluster.local
        kubernetes cluster.local 10.0.0.0/24
        file /etc/coredns/example.db example.org
        proxy . /etc/resolv.conf
        cache 30
    }
Run Code Online (Sandbox Code Playgroud)

感谢 @Jorrit Salverda 以此打开 kubernetes 问题。