6.3.2. Administrator パースペクティブを使用したカスタムドメインのサービスへのマッピング

Knative サービスには、クラスターの設定に基づいてデフォルトのドメイン名が自動的に割り当てられます。例: <service_name>-<namespace>.example.com.所有するカスタムドメイン名を Knative サービスにマッピングすることで、Knative サービスのドメインをカスタマイズできます。

これを行うには、サービスの DomainMapping リソースを作成します。複数の DomainMapping を作成して、複数のドメインおよびサブドメインを単一サービスにマップすることもできます。

クラスターまたは Dedicated 管理者のパーミッションを持つ場合、OpenShift Dedicated Web コンソールの Administrator パースペクティブを使用して DomainMapping カスタムリソース (CR) を作成できます。

前提条件

  • Web コンソールにログインしている。
  • Administrator パースペクティブに切り替えられている。
  • OpenShift Serverless Operator がインストールされている。
  • Knative Serving がインストールされています。
  • OpenShift Dedicated でアプリケーションおよび他のワークロードを作成するために、プロジェクトを作成しているか、適切なロールおよびパーミッションが割り当てられたプロジェクトにアクセスできる。
  • Knative サービスを作成し、そのサービスにマップするカスタムドメインを制御できる。

    注記

    カスタムドメインは OpenShift Dedicated クラスターの 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 の両方の namespace。
    3
    カスタムドメインにマップするサービス名。
    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!