コンテンツにスキップ

プライベートサービスの設定

デフォルトでは、Knativeを通じてデプロイされたサービスは.svc.cluster.localドメインを使用します。これは、それらがプライベートであり、したがってパブリックIPアドレスまたはパブリックURLを持たないことを意味します。

Knativeサービスをデフォルトでパブリック(パブリックIPアドレスとパブリックURLを持つ)にするには、サービスのドメイン名を構成します。これは、単一のサービスまたはクラスター上のすべてのサービスに対して行うことができます。

個々のサービスをプライベートにする

個々のサービスをプライベートにするには、サービスまたはルートにnetworking.knative.dev/visibility=cluster-localというラベルを付けると、外部ゲートウェイに公開されなくなります。

  • Knativeサービスにラベルを付けるには

    kubectl label kservice ${KSVC_NAME} networking.knative.dev/visibility=cluster-local
    

    Kubernetesサービスにラベルを付けることで、よりきめ細かい方法で可視性を制限できます。タグ付きルートについては、トラフィック管理を参照してください。

  • ルートがKnativeサービスなしで直接使用される場合に、ルートにラベルを付けるには

    kubectl label route ${ROUTE_NAME} networking.knative.dev/visibility=cluster-local
    
  • Kubernetesサービスにラベルを付けるには

    kubectl label service ${SERVICE_NAME} networking.knative.dev/visibility=cluster-local
    

Hello Worldサンプルをデプロイし、サービスにラベルを付けることでクラスターローカルサービスに変換できます。

kubectl label kservice helloworld-go networking.knative.dev/visibility=cluster-local

次に、helloworld-goサービスのURLを確認することで、変更が加えられたことを確認できます。

kubectl get kservice helloworld-go

NAME            URL                                              LATESTCREATED         LATESTREADY           READY   REASON
helloworld-go   http://helloworld-go.default.svc.cluster.local   helloworld-go-2bz5l   helloworld-go-2bz5l   True

サービスは、svc.cluster.localドメインを持つURLを返し、サービスがクラスタローカルネットワークでのみ利用可能であることを示します。

私たちは、サイトのトラフィックを理解するために、分析とCookieを使用しています。私たちのサイトの使用に関する情報は、その目的のためにGoogleと共有されます。詳細はこちら。