如何在 Knative 中使用自定义域名

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 在 Knative Serving 中默认使用 `example.com` 作为默认域名,如果想使用自定义的域名该如何做呢?本文会介绍一下如何在 Knative Serving 中使用自定义域名。

在 Knative Serving route 路由中默认使用 example.com 作为默认域名,route 完全定义的域名格式默认为:{route}.{namespace}.{default-domain}。如何使用自定义的域名呢?本文介绍了如何在 Knative Serving 中使用自定义域名。

前置准备

通过 Kubectl 修改域名

通过 kubectl 编辑域名配置文件 config-domain config-map。

kubectl edit cm config-domain --namespace knative-serving

使用自定义域名(如:mydomain.com),替换掉 example.com。保存配置

apiVersion: v1
data:
  mydomain.com: ""
kind: ConfigMap
[...]

通过 Apply 方式修改域名

创建一个域名配置文件 config-domain.yaml,使用自定义域名替换掉默认域名 example.com。保存文件

apiVersion: v1
kind: ConfigMap
metadata:
  name: config-domain
  namespace: knative-serving
data:
  # These are example settings of domain.
  # example.org will be used for routes having app=prod.
  example.org: |
    selector:
      app: prod
  # Default value for domain, for routes that does not have app=prod labels.
  # Although it will match all routes, it is the least-specific rule so it
  # will only be used if no other domain matches.
  example.com: ""

执行如下命令:

kubectl apply --filename config-domain.yaml

验证

部署应用

如果你已经部署了应用,Knative 会根据域名配置 configmap 的修改,自动更新所有的Service和Route。
部署一个应用 (如, helloworld-go), 可以使用下面的命令查看Knative Route "helloworld-go":

kubectl get route helloworld-go --output jsonpath="{.status.domain}"

可以看到自定义域名已生效:helloworld-go.default.mydomain.com。

域名发布

通过下述方式查看 Knative 网关 ip 地址:

# In Knative 0.2.x and prior versions, the `knative-ingressgateway` service was used instead of `istio-ingressgateway`.
export INGRESSGATEWAY=knative-ingressgateway

# The use of `knative-ingressgateway` is deprecated in Knative v0.3.x.
# Use `istio-ingressgateway` instead, since `knative-ingressgateway`
# will be removed in Knative v0.4.
if kubectl get configmap config-istio -n knative-serving &> /dev/null; then
    export INGRESSGATEWAY=istio-ingressgateway
fi

kubectl get svc $INGRESSGATEWAY --namespace istio-system --output jsonpath="{.status.loadBalancer.ingress[*]['ip']}"

将Knative 网关 ip 设置到对应的域名解析,参见添加域名解析

查看结果

最后可以通过直接执行如下命令查看执行结果:

curl http://helloworld-go.default.mydomain.com
相关实践学习
基于函数计算快速搭建Hexo博客系统
本场景介绍如何使用阿里云函数计算服务命令行工具快速搭建一个Hexo博客。
目录
相关文章
|
3天前
|
监控 Serverless 测试技术
Serverless 应用引擎常见问题之生成的图片的oss地址配成自定义的域名如何解决
Serverless 应用引擎(Serverless Application Engine, SAE)是一种完全托管的应用平台,它允许开发者无需管理服务器即可构建和部署应用。以下是Serverless 应用引擎使用过程中的一些常见问题及其答案的汇总:
31 0
|
3天前
|
存储 网络协议 网络安全
oss自定义域名绑定(Custom Domain Binding)
阿里云OSS支持自定义域名绑定,让用户可通过自有域名访问存储文件。步骤包括:1) 确保域名已备案并在阿里云验证;2) 在OSS控制台选择Bucket,绑定自定义域名并验证备案号;3)(可选)配置SSL证书;4) 在DNS服务商处设置CNAME记录;5)(可选)启用CDN加速。此功能有助于提升品牌识别度、安全性和文件预览体验。
188 1
|
3天前
|
JSON 安全 Serverless
在使用阿里云函数计算(FC)服务时,您可以通过自定义域名来访问部署好的云函数
在使用阿里云函数计算(FC)服务时,您可以通过自定义域名来访问部署好的云函数【1月更文挑战第23天】【1月更文挑战第112篇】
233 7
|
8月前
给 Hexo 配置自定义域名进行访问
给 Hexo 配置自定义域名进行访问
82 0
|
3天前
|
运维 JavaScript Java
Serverless 应用引擎产品使用之在阿里云函数计算中想为两个不同的服务分别开通自定义域名如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
27 1
|
3天前
|
存储 搜索推荐 对象存储
OSS绑定自定义域名至Bucket默认域名
OSS绑定自定义域名至Bucket默认域名
54 1
|
3天前
|
网络协议
hexo博客6:自定义域名 购买、配置、更新部署
hexo博客6:自定义域名 购买、配置、更新部署
16 3
|
3天前
|
弹性计算 运维 监控
Serverless 应用引擎产品使用之在阿里函数计算中,函数计算的的自定义域名的路由节约时间如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
169 0
|
3天前
|
人工智能 运维 Serverless
Serverless 应用引擎产品使用之阿里函数计算中3.0的函数只加自定义域名没有任何触发器的意义如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
29 1
|
3天前
|
运维 网络协议 安全
Serverless 应用引擎产品使用之阿里云函数计算中添加自定义域名进行域名DNS验证如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
26 1
http://www.vxiaotou.com