12.3. サービスメッシュによる Knative サービスのカスタムドメインの使用
デフォルトで、Knative サービスには固定されたドメイン形式があります。
<application_name>-<namespace>.<openshift_cluster_domain>
サービスをプライベートサービスとして設定し、必要なサービスメッシュリソースを作成して、Knative サービスのドメインをカスタマイズできます。
前提条件
- OpenShift Serverless Operator および Knative Serving をインストールします。
- Red Hat OpenShift Service Mesh をインストールします。
- OpenShift Serverless でのサービスメッシュの使用 の設定手順を完了します。
- 既存の Knative サービスのカスタムドメインを設定するか、または新規サンプルサービスを作成できます。新しいサービスを作成するには、サーバーレスアプリケーションの作成および管理 を参照してください。
12.3.1. クラスター可用性の cluster-local
への設定
デフォルトで、Knative サービスはパブリック IP アドレスに公開されます。パブリック IP アドレスに公開されているとは、Knative サービスがパブリックアプリケーションであり、一般にアクセス可能な URL があることを意味します。
一般にアクセス可能な URL は、クラスター外からアクセスできます。ただし、開発者は プライベートサービス と呼ばれるクラスター内からのみアクセス可能なバックエンドサービスをビルドする必要がある場合があります。開発者は、クラスター内の個々のサービスに serving.knative.dev/visibility=cluster-local
ラベルを使用してラベル付けし、それらをプライベートにすることができます。
手順
serving.knative.dev/visibility=cluster-local
ラベルを追加して、サービスの可視性を設定します。$ oc label ksvc <service_name> serving.knative.dev/visibility=cluster-local
検証
以下のコマンドを入力して出力を確認し、サービスの URL の形式が
http://<service_name>.<namespace>.svc.cluster.local
であることを確認します。$ oc get ksvc
出力例
NAME URL LATESTCREATED LATESTREADY READY REASON hello http://hello.default.svc.cluster.local hello-tx2g7 hello-tx2g7 True