3.3. ゲートウェイを作成し、別のマシンでそれを適用する
1 台のマシンからクラスターにアクセスできるが、別のマシンからサービスネットワークへのゲートウェイを作成したい場合は、この手順で説明するように、最初のマシンでゲートウェイ定義バンドルを作成し、後でその定義バンドルを 2 台目のマシンに適用することができます。たとえば、ローカルのデータベースサービスをサービスネットワークに公開しても、データベースサーバーからクラスターにアクセスしたくない場合は、この手順を使用して定義バンドルを作成し、データベースサーバーに適用することができます。
手順
- 1 台目のマシンからクラスターにログインし、サイトの namespace に変更します。
サービスネットワーク上で通信可能なサービスを作成します。
skupper service create <name> <port>
$ skupper service create <name> <port>Copy to Clipboard Copied! Toggle word wrap Toggle overflow ここでは、以下のようになります。
-
<name>- 作成するサービスの名前。 -
<port>- サービスが使用するポート。
以下に例を示します。
skupper service create database 5432
$ skupper service create database 5432Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
公開するサービスを表す YAML ファイルを作成します。以下に例を示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
ゲートウェイの名前を使用して、YAML ファイルを保存します (例:
gateway.yaml)。 サービスネットワーク上で公開するサービスをホストするマシンに適用できるバンドルを生成します。
skupper gateway generate-bundle <config-filename> <destination-directory>
$ skupper gateway generate-bundle <config-filename> <destination-directory>Copy to Clipboard Copied! Toggle word wrap Toggle overflow ここでは、以下のようになります。
- <config-filename> - 前のステップで生成した YAML ファイルの名前 (接尾辞を含む)。
-
<destination-directory> - 結果のゲートウェイバンドルを保存する場所 (例:
~/gateways)。
以下に例を示します。
skupper gateway generate-bundle database.yaml ./
$ skupper gateway generate-bundle database.yaml ./Copy to Clipboard Copied! Toggle word wrap Toggle overflow このバンドルには、サービスネットワークへのアクセスを許可するゲートウェイ定義の YAML と証明書が含まれています。
-
ゲートウェイ定義ファイル (
mylaptop-jdoe.tar.gzなど) を、サービスネットワーク上で公開するサービスをホストするマシンにコピーします。 公開したいサービスをホストしているマシンから、以下を実行します。
mkdir gateway tar -xvf <gateway-definition-file> --directory gateway cd gateway sh ./launch.py
$ mkdir gateway $ tar -xvf <gateway-definition-file> --directory gateway $ cd gateway $ sh ./launch.pyCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記./launch.py -t podmanまたは./launch.py -t dockerを使用して、コンテナーで Skupper ルーターを実行します。ゲートウェイバンドルを実行すると、ゲートウェイ定義 YAML と証明書を使用して、サービスネットワーク上のサービスにアクセスして公開します。
ゲートウェイサービスのステータスを確認します。
サービス タイプのゲートウェイを確認するには、以下を実行します。
systemctl --user status <gateway-definition-name>
$ systemctl --user status <gateway-definition-name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow podman タイプのゲートウェイを確認するには、以下を実行します。
podman inspect
$ podman inspectCopy to Clipboard Copied! Toggle word wrap Toggle overflow docker タイプのゲートウェイを確認するには、以下を実行します。
docker inspect
$ docker inspectCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記後で
./remove.pyを使用してゲートウェイを削除できます。クラスターにアクセスできるマシンから、Skupper ゲートウェイのステータスを確認します。
skupper gateway status
$ skupper gateway status Gateway Definition: ╰─ machine-user type:service version:1.5 ╰─ Bindings: ╰─ mydb:3306 tcp mydb:3306 localhost 3306Copy to Clipboard Copied! Toggle word wrap Toggle overflow これは、公開されるサービスが 1 つだけあり、サービスは単一のポート (BIND) のみを公開することを示しています。ローカルホストへ転送されるポートはありません。
ポートの変更など、ゲートウェイの定義を変更する必要がある場合は、既存のゲートウェイを削除し、この手順を最初から繰り返してゲートウェイを再定義する必要があります。