第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-backend
Copy 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 8080
Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドのオプションは以下の通りです。
-
--port <port-number>
: このサービスがサービスネットワーク上で利用可能なポート番号を指定します。注記: このオプションを繰り返すことで、複数のポートを指定できます。 -
--target-port <port-number>
: 公開したい Pod のポート番号を指定します。 -
--protocol <protocol>
を使用すると、使用するプロトコル、tcp
、http
、またはhttp2
を指定できます。
-
ポートを指定しないと、skupper
はデプロイメントの containerPort
値を使用します。