将 GKE 默认网域更改为一个可用于测试的网域

默认情况下,Cloud Run for Anthos on Google Cloud 使用 example.com 作为基础网域,其中服务的完全限定域名格式为 http://{service}.{namespace}.example.com。请注意,此网址不接受请求。

本页面介绍如何将 Cloud Run for Anthos on Google Cloud 集群的默认网域更改为可用于测试目的的网域。在这些说明中,我们使用的是免费 DNS 通配符网站,因此您无需购买自定义网域来进行测试。但是,如果您愿意,也可以在自己的自定义网域中使用通配符。这两种方法在本页面中都有介绍。

准备工作

确保已安装并配置了 Cloud SDK 和 kubectl

为通配符 DNS 选择替代项

在进行开发和测试时,您可以更改默认网域,以使用其他免费的通配符 DNS 测试网站,例如:

除了使用这些免费网站以外,您还可以选择将默认网域更改为您自己的自定义网域,但这需要购买一个网域,然后在您的域名注册商处设置记录以支持 DNS 通配符。

获取外部 IP 地址

无论是使用免费通配符 DNS 网站还是使用您自己的自定义网域,您都需要获取为 Istio Ingress 控制器创建的负载平衡器服务的外部 IP 地址。

要获取 Istio 入站网关的外部 IP 地址,请执行以下操作:

kubectl get svc ISTIO-GATEWAY -n NAMESPACE 
按如下所示替换 ISTIO-GATEWAYNAMESPACE
集群版本 ISTIO-GATEWAY NAMESPACE
1.15.3-gke.19 及更高版本
1.14.3-gke.12 及更高版本
1.13.10-gke.8 及更高版本
istio-ingress gke-system
所有其他版本 istio-ingressgateway istio-system

生成的输出类似如下所示:

NAME            TYPE           CLUSTER-IP     EXTERNAL-IP  PORT(S)
ISTIO-GATEWAY    LoadBalancer   XX.XX.XXX.XX   pending     80:32380/TCP,443:32390/TCP,32400:32400/TCP

负载平衡器的 EXTERNAL-IP 是您必须使用的 IP 地址。

  • 对于免费通配符网站,您将在修改集群配置(见下文)时使用此外部 IP 地址。
  • 对于您自己的自定义网域,请不要在集群配置中使用此外部 IP 地址,而应将其用于域名注册商处的新增记录或更新记录。

修改集群网域配置

Cloud Run for Anthos on Google Cloud 使用 config-domain ConfigMap 为部署到集群的所有服务定义基本网域。用于修改此配置的命令将取决于您使用的是免费通配符 DNS 网站还是您自己的自定义网域。

使用免费 DNS 通配符网站

如需将默认基本网域从 example.com 更改为免费 DNS 通配符网站之一,例如 xip.io,请使用以下命令:

kubectl patch configmap config-domain --namespace knative-serving --patch \
  '{"data": {"example.com": null, "[EXTERNAL-IP].xip.io": ""}}'

替换

  • [EXTERNAL-IP] 替换为负载平衡器的外部 IP 地址
  • xip.io 替换为您使用的任何免费通配符 DNS 网站。

如果要再次进行此项更改,您可以使用不同值重复上述命令。

您的服务现在可通过 {service-name}.{namespace}.{[EXTERNAL-IP].xip.io} 访问。

使用自定义网域进行测试

如果您想使用自己拥有的自定义网域,以使用该网域进行测试,而不是使用免费的通配符 DNS 网站,请执行以下操作:

  1. 使用以下命令指定自定义网域:

    kubectl patch configmap config-domain --namespace knative-serving --patch \
    '{"data": {"example.com": null, "[DOMAIN]": ""}}'

    [DOMAIN] 替换为您自己的网域(例如 mydomain.com)。上述命令会从 ConfigMap 中移除 example.com 并将 mydomain.com 添加为默认基本网域。如果要再次将此网域更改为其他某个网域,可以重复此命令。

  2. 在域名注册商网站登录您的帐号,然后打开 DNS 配置页面。

  3. 找到网域配置页面的主机记录部分,然后添加所需的资源记录

    1. 要通过 DNS 提供商将 DNS 记录添加到帐号,请按如下所述操作:

      • 选择 A 记录类型。
      • 提供通配符 *,如以下示例所示:

        dns 通配符

    2. 保存您在网域帐号的 DNS 配置页面中所做的更改。在大多数情况下,这些更改只需几分钟即可生效,但在某些情况下,可能需要几个小时,具体取决于注册商以及网域的任何先前 DNS 记录的存留时间 (TTL)

更新 DNS 记录并将其指向集群后,您的服务可通过 {service-name}.{namespace}.{your-domain} 访问。