×

您可以通过将您拥有的自定义域名映射到 Knative 服务来自定义 Knative 服务的域名。要将自定义域名映射到自定义资源 (CR),您必须创建一个DomainMapping CR,该 CR 映射到可寻址目标 CR,例如 Knative 服务或 Knative 路由。

创建自定义域名映射

您可以通过将您拥有的自定义域名映射到 Knative 服务来自定义 Knative 服务的域名。要将自定义域名映射到自定义资源 (CR),您必须创建一个DomainMapping CR,该 CR 映射到可寻址目标 CR,例如 Knative 服务或 Knative 路由。

前提条件
  • OpenShift Serverless 运算符和 Knative Serving 已安装在您的集群上。

  • 安装 OpenShift CLI (oc)。

  • 您已创建项目或有权访问具有适当角色和权限的项目,以便在 OpenShift Container Platform 中创建应用程序和其他工作负载。

  • 您已创建 Knative 服务并控制要映射到该服务的自定义域名。

    您的自定义域名必须指向 OpenShift Container Platform 集群的 IP 地址。

步骤
  1. 创建一个包含DomainMapping CR 的 YAML 文件,该文件与要映射到的目标 CR 位于相同的命名空间。

    apiVersion: serving.knative.dev/v1beta1
    kind: DomainMapping
    metadata:
     name: <domain_name> (1)
     namespace: <namespace> (2)
    spec:
     ref:
       name: <target_name> (3)
       kind: <target_type> (4)
       apiVersion: serving.knative.dev/v1
    1 要映射到目标 CR 的自定义域名。
    2 DomainMapping CR 和目标 CR 的命名空间。
    3 要映射到自定义域名的目标 CR 的名称。
    4 映射到自定义域名的 CR 类型。
    示例服务域名映射
    apiVersion: serving.knative.dev/v1beta1
    kind: DomainMapping
    metadata:
     name: example.com
     namespace: default
    spec:
     ref:
       name: showcase
       kind: Service
       apiVersion: serving.knative.dev/v1
    示例路由域名映射
    apiVersion: serving.knative.dev/v1beta1
    kind: DomainMapping
    metadata:
     name: example.com
     namespace: default
    spec:
     ref:
       name: example-route
       kind: Route
       apiVersion: serving.knative.dev/v1
  2. DomainMapping CR 应用为 YAML 文件

    $ oc apply -f <filename>