Google Cloud Resolve VM 主机名到 Google Cloud DNS 主机名

Google Cloud Resolve VM 主机名到 Google Cloud DNS 主机名

我正在 Google Cloud 中设置 OpenShift 集群,并启动了一堆虚拟机。我还有一个 Google Cloud DNS 区域,我已在其中注册了我设置的虚拟机的主机名。我希望能够通过我在 Google Cloud DNS 区域中配置的主机名来引用所有虚拟机,而不是通过 Google Cloud Platform 为它们提供的本地名称。请问我该怎么做?

我尝试编辑 resolv.conf(它们都是 Centos 7 Linux VM),但是这不起作用,而且我知道每次 DHCP 租约续订时它都会被覆盖。

为了更详细地解释,我将使用 1 VM 作为示例。我有一个名为“nat-gateway”的 VM。它的“主机名 -f”是 nat-gateway.c.MyProjectName.internal,我可以使用 nat-gateway 和它的 fqdn nat-gateway.c.MyProjectName.internal 对其进行 ping 操作。在我的 Cloud DNS 区域(称为 cloud.abc.gcp)上,我为 nat-gateway 创建了一条 A 记录,我希望能够使用 nat-gateway.cloud.abc.gcp 对其进行 ping 操作。因此,对于我的所有 VM,我希望通过它们相应的 cloud.abc.gcp 主机名对其进行 ping 操作。

非常感谢您的帮助,谢谢。

答案1

简短的回答是肯定的。这是有可能的。

长话短说,这不是 Cloud DNS 的预期用途。但以下步骤可以使其行为几乎符合您的要求:

  1. 在您的 Cloud DNS 上创建指向您的 nat-gateway 的内部 IP 的 A 记录(例如:10.128.0.3)

    附注:您可以在创建虚拟机时保留内部 IP 地址,或者促进将正在使用的临时内部 IP 地址更改为静态地址,因为 A 记录指向其内部 IP。

  2. 等待 Cloud DNS 传播 A 记录并 ping nat-gateway.cloud.abc.gcp 主机名。

结果:

  1. 如果在同一个 VPC 内并且防火墙允许 ping,它将把 Cloud DNS 主机名解析为 FQDN nat-gateway.c.MyProjectName.internal,并且可以正常 ping。

  2. 如果在 VPC 之外但使用 VPN 或 VPC Peering 连接到它(例如:项目 A VPC A 使用 VPN 隧道连接到项目 B VPC B,并且所有防火墙和路由均适用,则一个实例可以使用解析为内部 IP 地址的 Cloud DNS 主机名从另一个网络访问另一个实例)

  3. 如果尝试 ping 的机器未连接到您的 nat-gateway 的 VPC,它将把主机名解析为保留的 IP 地址,但无法访问它(预期行为)。

最后,Cloud DNS 不会直接解析 FQDN nat-gateway.c.MyProjectName.internal,而是解析与其关联的 IP,当在同一个 VPC 中使用时,IP 将再次由 VPC 的内部 DNS 解析为 FQDN nat-gateway.c.MyProjectName.internal。

相关内容