1.6. namespace からのサービスネットワーク上のサービスの公開


サービスネットワークを作成した後、公開されたサービスはそのネットワーク全体で通信できます。

skupper CLI には、namespace に存在するサービスを公開するための 2 つのオプションがあります。

1.6.1. サービスネットワーク上での簡単なサービスの公開

このセクションでは、簡単なユースケースのサービスネットワークでサービスを有効にする方法を説明します。

手順

  1. たとえば、サイトの 1 つにデプロイメント、いくつかの Pod、またはサービスを作成します。

    $ kubectl create deployment hello-world-backend --image quay.io/skupper/hello-world-backend
    Copy to Clipboard Toggle word wrap

    このステップは Application Interconnect 固有のものではありません。つまり、このプロセスはお使いのクラスターの標準プロセスと変わりません。

  2. サービスネットワーク上で通信可能なサービスを作成します。

    $ skupper expose [deployment <name>|pods <selector>|statefulset <statefulsetname>|service <name>]
    Copy to Clipboard Toggle word wrap

    ここでは、以下のようになります。

    • <name> - デプロイメントの名前。
    • <selector> - Pod セレクター。
    • <statefulsetname> - ステートフルセットの名前。

    手順 1 のデプロイメント例では、次のコマンドを使用してサービスを作成します。

    $ skupper expose deployment/hello-world-backend --port 8080
    Copy to Clipboard Toggle word wrap

    このコマンドのオプションは以下の通りです。

    • --port <port-number>: このサービスがサービスネットワーク上で利用可能なポート番号を指定します。注記: このオプションを繰り返すことで、複数のポートを指定できます。
    • --target-port <port-number>: 公開したい Pod のポート番号を指定します。
    • --protocol <protocol> を使用すると、使用するプロトコル、tcphttp、または http2 を指定できます。
注記

ポートを指定しないと、skupper はデプロイメントの containerPort 値を使用します。

1.6.2. サービスネットワーク上での複雑なサービスの公開

このセクションでは、より複雑なユースケースのサービスネットワークでサービスを有効にする方法を説明します。

手順

  1. たとえば、サイトの 1 つにデプロイメント、いくつかの Pod、またはサービスを作成します。

    $ kubectl create deployment hello-world-backend --image quay.io/skupper/hello-world-backend
    Copy to Clipboard Toggle word wrap

    このステップは Application Interconnect 固有のものではありません。つまり、このプロセスはお使いのクラスターの標準プロセスと変わりません。

  2. サービスネットワーク上で通信可能なサービスを作成します。

    $ skupper service create <name> <port>
    Copy to Clipboard Toggle word wrap

    ここでは、以下のようになります。

    • <name> - 作成するサービスの名前。
    • <port> - サービスが使用するポート。

    手順 1 のデプロイメント例では、次のコマンドを使用してサービスを作成します。

    $ skupper service create hello-world-backend 8080
    Copy to Clipboard Toggle word wrap
  3. サービスをクラスターサービスにバインドします。

    $ skupper service bind <service-name> <target-type> <target-name>
    Copy to Clipboard Toggle word wrap

    ここでは、以下のようになります。

    • <service-name> - サービスネットワーク上のサービスの名前。
    • <target-type> は、公開するオブジェクト (deploymentstatefulsetpods、または service) です。
    • <target-name> - クラスターサービスの名前。
    • --protocol <protocol> を使用すると、使用するプロトコル、tcphttp、または http2 を指定できます。

    手順 1 のデプロイメント例では、次のコマンドを使用してサービスをバインドします。

    $ skupper service bind hello-world-backend deployment hello-world-backend
    Copy to Clipboard Toggle word wrap

1.6.3. 別の namespace からサービスネットワークへのサービスの公開

このセクションでは、Application Interconnect がデプロイされていない namespace からサービスを公開する方法を示します。

前提条件

  • Application Interconnect がデプロイされている namespace。
  • 別の namespace で実行されているサービス。
  • namespace 間の通信を許可するネットワークポリシー。

    1. クラスターにログインし、実際のサイトの namespace に移動します。
    2. サービスネットワーク上でサービスを公開します。

      $ skupper expose service <service>.<namespace> --address <service>
      Copy to Clipboard Toggle word wrap
      • <service> - サービスネットワーク上のサービスの名前。
      • <namespace> - 公開するサービスが実行される namespace の名前。

      たとえば、Application Interconnect を east namespace にデプロイし、backend サービスを east-backend namespace に作成した場合は、コンテキストを east namespace に設定し、以下を使用してサービスネットワーク上でサービスを backend として公開します。

      $ skupper expose service backend.east-backend --port 8080 --address backend
      Copy to Clipboard Toggle word wrap
      注記

      別の namespace からのサービスのみを公開できます。別の namespace からデプロイメントを公開する場合は、公開する前にデプロイメントからサービスを作成してください。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat