Menu Close
Settings Close

Language and Page Formatting Options

6.3.2. 使用 Administrator 视角将自定义域映射到服务

Knative 服务会自动根据集群配置分配默认域名。例如,<service_name>-<namespace>.example.com。您可以通过将您自己的自定义域名映射到 Knative 服务来自定义 Knative 服务域。

您可以通过为服务创建 DomainMapping 资源来完成此操作。您还可以创建多个 DomainMapping 资源,将多个域和子域映射到单个服务。

如果您有集群管理员权限,您可以使用 OpenShift Container Platform web 控制台中的 Administrator 视角创建 DomainMapping 自定义资源(CR)。

先决条件

  • 已登陆到 web 控制台。
  • 您处于 Administrator 视角。
  • 已安装 OpenShift Serverless Operator。
  • 已安装 Knative Serving。
  • 您已创建了一个项目,或者具有适当的角色和权限访问项目,以便在 OpenShift Container Platform 中创建应用程序和其他工作负载。
  • 您已创建了 Knative 服务,并控制要映射到该服务的自定义域。

    注意

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

流程

  1. 导航到 CustomResourceDefinitions,并使用搜索框查找 DomainMapping 自定义资源定义(CRD)。
  2. DomainMapping CRD,然后导航到 Instances 选项卡。
  3. 单击 Create DomainMapping
  4. 修改 DomainMapping CR 的 YAML,使其为您的实例包含以下信息:

    apiVersion: serving.knative.dev/v1alpha1
    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 类型。

    到 Knative 服务的域映射示例

    apiVersion: serving.knative.dev/v1alpha1
    kind: DomainMapping
    metadata:
     name: custom-ksvc-domain.example.com
     namespace: default
    spec:
     ref:
       name: example-service
       kind: Service
       apiVersion: serving.knative.dev/v1

验证

  • 使用 curl 请求访问自定义域。例如:

    示例命令

    $ curl custom-ksvc-domain.example.com

    输出示例

    Hello OpenShift!