GKE-Kube-DNS stubDomain 到 VPN 网络的解析不起作用

GKE-Kube-DNS stubDomain 到 VPN 网络的解析不起作用

刚接触 GCloud 和 GKE,在使用 DNS 时遇到困难。

我们的办公室和 GCloud 之间有一个 VPN,运行共享 VPC。现有的防火墙规则似乎运行良好。我们可以双向 ping,我们可以成功 ssh 到 Google。

因此,现在我们需要在 GKE 内部使用 DNS 解析 VPN 上的主机名。应该很简单。

我编辑了 kube-dns 配置映射,并使用指向我们两个 DNS 服务器的 stubDomains 添加了我们的内部域名。在重新部署 kube-dns pod 后,我在日志中验证了它们正在获取新的 stubDomain 部分。但是,我仍然无法解析任何主机,即使是从 kube-dns 容器本身也无法解析。

登录 dnsmasq 容器后:

/etc/k8s/dns/dnsmasq-nanny # cat stubDomains
{"internal.domain.com": ["10.85.128.5", "10.85.128.6"]}

/ # nslookup google.com
nslookup: can't resolve '(null)': Name does not resolve

Name:      google.com
Address 1: 108.177.9.138 ox-in-f138.1e100.net
Address 2: 108.177.9.101 ox-in-f101.1e100.net
Address 3: 108.177.9.139 ox-in-f139.1e100.net
Address 4: 108.177.9.100 ox-in-f100.1e100.net
Address 5: 108.177.9.102 ox-in-f102.1e100.net
Address 6: 108.177.9.113 ox-in-f113.1e100.net
Address 7: 2607:f8b0:4003:c13::71 ox-in-x71.1e100.net

/etc/k8s/dns/dnsmasq-nanny # cd /
/ # nslookup rancher.internal.domain.com
nslookup: can't resolve '(null)': Name does not resolve

nslookup: can't resolve 'rancher.internal.domain.com': Name does not resolve

nslookup: can't resolve 'rancher.internal.domain.com': Name does not resolve
/ # nslookup rancher.internal.domain.com 10.85.128.5
Server:    10.85.128.5
Address 1: 10.85.128.5

nslookup: can't resolve 'rancher.internal.domain.com': Name does not resolve

我可以在 VPC 防火墙日志中看到查询被“允许”通过 VPC 防火墙,但从未到达我们的 VPN。

我可以从 dnsmasq 容器内 ping DNS 服务器,甚至可以毫无问题地在网络的 VPN 端 curl 网页。

我可以启动 Google Compute 节点并且可以毫无问题地访问 VPN DNS 服务器。

只有 DNS 不起作用,并且只能从 GKE 及其容器起作用。

有什么想法吗?

答案1

正如 @Milad 在对该问题的评论中所述,它已在stackoverflow 问题。

相关内容