GCE 实例可用的 GKE 集群 DNS

GKE cluster DNS available to GCE instances

我相信许多 GKE 客户都在混合 GCE/GKE 环境中工作。

目前集群中的skyDNS服务没有暴露在同一个项目的GCE主机上。 DNS 服务使用的这个 ip 地址范围不同于从所有 GCE 可路由的正常应用程序服务范围(每个集群节点都为自己的子网获取路由)。

我在 GKE 中专门有一个无头服务,我希望我的 GCE 主机能够通过 DNS 可靠地访问。作为解决方法,我将路由添加到托管 DNS pod 的节点并且它有效。

但是,我完全理解一个简单的 skyDNS pod 重启会破坏我的路由。

我的问题是,集群主机能否像对普通节点服务那样将此路由添加到 GCE,或者更好的是,从路由已经工作的普通服务子网中提取 DNS 地址?

这可以做到吗?

DNS 服务应该与其他服务没有区别。从集群外部访问私有 GKE 服务的普遍问题目前还没有得到很好的解决。

您的 "routing to the node" 实际上应该在 skyDNS 重新启动时正常工作。如果 pod 恰好被安排在其他地方,kube-proxy + pod 路由规则将在需要去的地方获得流量(这实际上是提出类似问题时提出的选项之一( & ))。