第5章 namespace からのサービスネットワーク上のサービスの公開
サービスネットワークを作成した後、公開されたサービスはそのネットワーク全体で通信できます。
skupper CLI には、namespace に存在するサービスを公開するための 2 つのオプションがあります。
-
exposeは、単一サービスを使用するデプロイメントなど、単純なユースケースをサポートします。手順は 「サービスネットワーク上での簡単なサービスの公開」 を参照してください。 -
service createとservice bindは、複数のサービスでデプロイメントする場合など、より柔軟にサービスを公開する方法です。手順は 「サービスネットワーク上での複雑なサービスの公開」 を参照してください。
5.1. サービスネットワーク上での簡単なサービスの公開 リンクのコピーリンクがクリップボードにコピーされました!
このセクションでは、簡単なユースケースのサービスネットワークでサービスを有効にする方法を説明します。
手順
たとえば、チュートリアル のバックエンドサービスを作成するために、サイトの 1 つにデプロイメント、いくつかの Pod、またはサービスを作成します。
kubectl create deployment hello-world-backend --image quay.io/skupper/hello-world-backend
$ kubectl create deployment hello-world-backend --image quay.io/skupper/hello-world-backendCopy to Clipboard Copied! Toggle word wrap Toggle overflow このステップは Application Interconnect 固有のものではありません。つまり、このプロセスはお使いのクラスターの標準プロセスと変わりません。
サービスネットワーク上で通信可能なサービスを作成します。
skupper expose [deployment <name>|pods <selector>|statefulset <statefulsetname>|service <name>]
$ skupper expose [deployment <name>|pods <selector>|statefulset <statefulsetname>|service <name>]Copy to Clipboard Copied! Toggle word wrap Toggle overflow ここでは、以下のようになります。
-
<name>- デプロイメントの名前。 -
<selector>- Pod セレクター。 -
<statefulsetname>- ステートフルセットの名前。
手順 1 のデプロイメント例では、次のコマンドを使用してサービスを作成します。
skupper expose deployment/hello-world-backend --port 8080
$ skupper expose deployment/hello-world-backend --port 8080Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドのオプションは以下の通りです。
-
--port <port-number>: このサービスがサービスネットワーク上で利用可能なポート番号を指定します。注記: このオプションを繰り返すことで、複数のポートを指定できます。 -
--target-port <port-number>: 公開したい Pod のポート番号を指定します。 -
--protocol <protocol>を使用すると、使用するプロトコル、tcp、http、またはhttp2を指定できます。
-
ポートを指定しないと、skupper はデプロイメントの containerPort 値を使用します。