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