配置域名¶
您可以自定义单个 Knative Service 的域名,或为集群上创建的所有 Services 设置全局默认域名。默认情况下,路由的完全限定域名是 {route}.{namespace}.svc.cluster.local。
为单个 Knative Service 配置域名¶
如果您想自定义单个 Service 的域名,请参阅有关 DomainMapping 的文档。
为集群上所有 Knative Services 配置默认域名¶
您可以通过修改 config-domain ConfigMap 来更改集群上所有 Knative Services 的默认域名。
步骤¶
-
在文本编辑器中打开
config-domainConfigMapkubectl edit configmap config-domain -n knative-serving -
编辑文件以将
svc.cluster.local替换为您想要使用的域名,并保存更改。在此示例中,knative.dev被配置为所有路由的域名apiVersion: v1 data: knative.dev: "" _example: | ... kind: ConfigMap [...]
如果您有现有部署,Knative 会协调对 ConfigMap 所做的更改,并自动更新所有已部署 Services 和 Routes 的主机名。
验证步骤¶
- 将应用程序部署到您的集群。
-
检索路由的 URL
kubectl get route <route-name> --output jsonpath="{.status.url}"其中
<route-name>是路由的名称。 -
观察您配置的自定义域名。
发布您的域名¶
要使您的域名可公开访问,您必须更新您的 DNS 提供商,使其指向您的服务入口的 IP 地址。
-
为命名空间和自定义域名创建指向入口 IP 地址的通配符记录,这将使同一命名空间中多个服务的主机名无需创建额外的 DNS 条目即可工作。
*.default.knative.dev 59 IN A 35.237.28.44 -
创建 A 记录以将完全限定域名指向您的 Knative 网关的 IP 地址。此步骤需要为创建的每个 Knative Service 或 Route 执行。
helloworld-go.default.knative.dev 59 IN A 35.237.28.44 -
域名更新传播后,您可以使用已部署路由的完全限定域名访问您的应用程序。