如何Knative 自定义域名?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
本文介绍了如何在 Knative Serving 中使用自定义域名。
前提条件 您已经成功申请一个域名,参见阿里云域名服务。 您已经成功部署 Knative,参见部署 Knative。 背景信息 在 Knative Serving Route 路由中使用 example.com 作为默认域名,Route 完全定义的域名格式默认为:{route}.{namespace}.{default-domain}。 通过 Kubectl 修改域名 下面以在命名空间 knative-serving 中将域名修改为自定义域名为例进行介绍。
通过kubectl连接Kubernetes集群。 执行如下命令,编辑域名 config-map 配置文件 config-domain。 kubectl edit cm config-domain --namespace knative-serving 修改配置文件。 将配置文件中的 example.com 改为自定义域名后,保存配置。本例中的自定义域名为:mydomain.com。 apiVersion: v1 data: mydomain.com: "" kind: ConfigMap [...] 部署应用 如果您已经部署了应用,Knative 会根据域名配置 configmap,自动更新所有的 Service 和 Route。
部署一个应用。以部署一个命名为 helloworld-go 的应用为例,请参见部署 Serving Hello World 应用。 执行以下操作,查看部署结果。 在 Knative 0.7 版本下,执行如下命令,查看域名。 kubectl get route ${SVC_NAME} --output jsonpath="{.status.url}"| awk -F/ '{print $3}'` 在 Knative 0.6 版本下,执行如下命令,查看域名。 kubectl get route helloworld-go --output jsonpath="{.status.domain}" 当返回结果如下时,表示自定义域名已生效。 helloworld-go.default.mydomain.com 发布域名 登录容器服务管理控制台。 在 Kubernetes 菜单下,单击左侧导航栏中的 Knative > 服务管理。 在服务管理页面,选择目标集群及命名空间,可以看到目标应用对应的访问网关。 网关地址 将 Knative 网关 IP 设置到对应的域名解析,参见添加解析记录。 执行结果 执行如下命令,查看执行结果。 curl http://helloworld-go.default.mydomain.com