3.2. サービスネットワーク上で複雑なローカルサービスの使用
このセクションでは、skupper ゲートウェイの高度な使用方法を説明します。
Linux でサービスタイプのゲートウェイを作成する場合は、パスに
skrouterd
バイナリーが必要です。yum
コマンドまたはdnf
コマンドを使用して、skupper-router
パッケージをインストールします。$ sudo dnf install skupper-router
podman または docker タイプのゲートウェイの場合は、この手順を省略できます。
Skupper ゲートウェイを作成します。
$ skupper gateway init --type <gateway-type>
デフォルトでは、サービス タイプのゲートウェイが作成されますが、以下を指定することも可能です。
-
podman
-
docker
-
サービスネットワーク上で通信可能なサービスを作成します。
$ skupper service create <name> <port>
ここでは、以下のようになります。
-
<name>
- 作成するサービスの名前。 -
<port>
- サービスが使用するポート。
以下に例を示します。
$ skupper service create mydb 3306
-
サービスネットワーク上のサービスをバインドします。
$ skupper gateway bind <service> <host> <port>
-
<service> - サービスネットワーク上のサービス名 (上記の例では
mydb
)。 - <host> - サービスを実行するホスト。
-
<port> - サービスが実行中のポート。上記の例の
3306
。
-
<service> - サービスネットワーク上のサービス名 (上記の例では
Skupper ゲートウェイのステータスを確認します。
$ skupper gateway status
出力は以下の例のようになります。
Gateway Definitions Summary Gateway Definition: ╰─ machine-user type:service version:1.8 ╰─ Bindings: ╰─ mydb:3306 tcp mydb:3306 localhost 3306
これは、公開されるサービスが 1 つだけあり、サービスは単一のポート (BIND) のみを公開することを示しています。ローカルホストへ転送されるポートはありません。
URL フィールドは基礎となる通信を示し、無視できます。
サービスネットワークに追加のサービスを作成し、さらにローカルサービスをバインドして、これらのサービスをサービスネットワーク上で公開することができます。
サービスネットワークからローカルマシンにサービスを転送します。
$ skupper gateway forward <service> <port>
ここでは、以下のようになります。
-
<service>
は、サービスネットワーク上の既存サービスの名前です。 -
<port>
は、使用するローカルマシンのポートです。
-