Service Interconnect の使用
CLI と YAML を使用してアプリケーションネットワークを作成する
概要
第1章 Skupper の概要
ハイブリッドクラウドを使用すると、オンプレミス、プライベートクラウド、およびパブリッククラウドリソースを組み合わせることができます。このようなソリューションには多くの利点がありますが、独特な課題が 1 つあります。その課題とは、上記のリソース間の通信を可能にすることです。
Skupper は、さまざまな場所にあるネットワークで実行しているアプリケーションを簡単かつセキュアに接続する Application Network を活用し、この課題に対する解決策を提供します。
1.1. Application Network
Skupper は、Virtual Application Network またはアプリケーションネットワークと呼ばれるものを使用して、マルチクラスター通信の課題を解決します。Skupper の値を理解するには、最初にアプリケーションネットワークを理解するのに役立ちます。
アプリケーションネットワークは、ハイブリッドクラウド内のアプリケーションとサービスを仮想ネットワークに接続し、すべてが同じサイトで実行されているかのように相互に通信できるようにします。以下の図では、アプリケーションネットワークは、それぞれ異なるクラウドで実行されている 3 つのサービスを接続します。

基本的に、アプリケーションネットワークは分散アプリケーションのサービスをマイクロサービスアーキテクチャーに接続します。

アプリケーションネットワークはレイヤー 7 (アプリケーション層) で動作するため、ハイブリッドクラウド全体で通信を確立します。また、レイヤー 7 アプリケーションルーター を使用して、レイヤー 7 アプリケーションサービス 間の通信をルーティングします。
1.2. レイヤー 7 アプリケーションルーター
レイヤー 7 アプリケーションルーターは、従来のネットワークルーターが VPN のバックボーンを形成するのと同じように、アプリケーションネットワークのバックボーンを形成します。ただし、レイヤー 7 アプリケーションルーターは、ネットワークエンドポイント間で IP パケットをルーティングするのではなく、アプリケーションエンドポイント (レイヤー 7 アプリケーションサービスと呼ばれる) 間でメッセージをルーティングします。
レイヤー 7 アプリケーションサービス
レイヤー 7 アプリケーションサービスは、アプリケーションネットワークのエンドポイントまたは宛先を表します。アプリケーションがサービスに通信を送信すると、レイヤー 7 アプリケーションルーターは同じサービスを持つアプリケーションネットワーク内の他のアプリケーションに通信を分散します。
たとえば、以下の図では、Service B がアプリケーションサービスを含むメッセージをローカルアプリケーションルーターに送信します。Service A と Service C が同じサービスにサブスクライブしているため、アプリケーションルーターは各宛先に到達するまでアプリケーションネットワークを介してメッセージのコピーをルーティングします。

アプリケーションネットワークは複数のルーティングパターンを提供するため、通信はエニーキャスト (バランス型または最も近い) またはマルチキャストパターンで分散できます。
1.3. Skupper
Skupper は、Kubernetes または Linux でアプリケーションネットワークを作成するためのオープンソースツールです。Skupper を使用すると、異なるサイトで実行されるマイクロサービスを含む分散アプリケーションを作成できます。
この図は、3 つの異なるサイトで実行されている 3 つのサービスを接続する Skupper ネットワークを示しています。

Skupper ネットワークでは、各 namespace に Skupper インスタンスが含まれています。これらの Skupper インスタンスが接続すると、各インスタンスが公開するサービスに関する情報を継続的に共有します。つまり、各 Skupper インスタンスは、各サービスが存在する namespace に関係なく、Skupper ネットワークに公開されているすべてのサービスを常に認識します。
Kubernetes 名前空間にまたがって Skupper ネットワークが形成されると、それらの名前空間内の任意のサービスが (アノテーションを通じて) Skupper ネットワークに公開できるようになります。サービスが公開されると、Skupper はプロキシーエンドポイントを作成して、Skupper ネットワークの各 namespace でそのサービスを利用できるようにします。
第2章 Skupper セキュリティー
Skupper は、TLS 認証および暗号化を使用してサービスを安全に接続します。Skupper を使用することで複数の Kubernetes にわたってアプリケーションを安全にデプロイする方法を説明します。
クラウドのセキュリティーに関する課題
アプリケーションをクラウドに移行すると、セキュリティーリスクが発生します。サービスをパブリックインターネットに公開するか、VPN、ファイアウォールルール、アクセスポリシーなどの複雑なレイヤー 3 ネットワーク制御を採用する必要があります。
さらなる問題として、レイヤー 3 ネットワーク制御は複数のクラスターに簡単に拡張されません。これらのネットワーク制御は、クラスターごとに複製する必要があります。
ビルトインのネットワーク分離
Skupper は、クラスターやクラウドにまたがってスケーリングする、デフォルトのビルトインセキュリティーを提供します。Skupper ネットワークでは、Skupper ルーター間の接続は、プライベートな専用認証局 (CA) を使用して相互 TLS で保護されます。各ルーターは、独自の証明書で一意に識別されます。
つまり、Skupper ネットワークは外部アクセスから分離されるため、今後の攻撃、マルウェアの侵入、データの漏えいなどのセキュリティーリスクを防ぎます。
第3章 Skupper の接続性
Skupper は、複数の Kubernetes クラスター間でサービスを接続する新しいアプローチを表します。Skupper により必要に応じてサービスを柔軟にデプロイできるようにする方法を説明します。
1 つのクラスター
Kubernetes サービス は、分散アプリケーションの要素ごとに仮想ネットワークアドレスを提供します。たとえば、サービス "A" は、サービス "B" に、"B" は "C" に問い合わせができます。
ただし、複数のクラスターにアプリケーションをデプロイする場合には、オプションは制限されます。サービスをパブリックインターネットに公開するか、VPN を設定する必要があります。
Skupper は 3 番目の方法を提供します。クラスターをセキュアなレイヤー 7 ネットワークに接続します。そのネットワークを使用して、ローカルサービストラフィックをリモートクラスターに転送します。
セキュアなハイブリッドクラウド通信
パブリッククラスターとプライベートクラスターにアプリケーションをデプロイします。
プライベートクラスターでデータベースをホストし、パブリッククラウドで実行されているサービスとの完全な接続を確保できます。通信はすべて、相互 TLS 認証および暗号化によって保護されます。
Edge-to-edge 接続
アプリケーションサービスを地理的リージョンに分散します。
複数の小売サイトを中央のオフィスに接続できます。接続が完了すると、エッジロケーションはそれぞれ、他のエッジに接続できます。オンデマンドでサイトを追加および削除できます。
スケールアップおよびスケールアウト
接続クラスターの大規模で堅牢なネットワークを構築します。
第4章 Skupper ルーティング
Skupper は、レイヤー 7 のアドレス指定とルーティングを使用してサービスを接続します。アプリケーション層のアドレス指定でアプリケーションに新機能がどのように取り込むかを説明します。
マルチクラスターサービス
複数のクラスターにわたって単一の論理サービスをデプロイします。
Skupper は、複数のクラスターで実行されている単一のサービスのインスタンスにリクエストをルーティングできます。プロバイダーまたはデータセンターに障害が発生した場合、影響を受けていないサイトで実行されているサービスインスタンスは、ニーズに合わせて拡張し、可用性を維持できます。
動的負荷分散
サービス容量に応じてクラスター間でリクエストを分散します。
Skupper ネットワークを利用することで、クラスター間の可視性が得られます。このサービスにより、どのサービスがすでにロードされているか、どのサービスに余裕があるかを把握し、それに応じてリクエストを送信できます。
各クラスター間接続にコストを割り当てることができます。これにより、あるリソースを他のリソースよりも優先するように設定できます。需要が通常の状態であれば、すべてのトラフィックをプライベートクラウド上に保持できます。需要がピークに達した場合は、パブリッククラウドリソースに動的に切り替えられます。
信頼できるネットワーク
Skupper は冗長ネットワークパスとスマートルーティングを使用して、大規模で可用性の高い接続を提供します。
第5章 Kubernetes での Skupper CLI の概要
Skupper コントローラーをインストールした後、Kubernetes 上で skupper
CLI を使用してサイト、リンク、およびサービスを設定できます。
Skupper CLI は標準リソースを生成および使用するように設計されており、CLI を使用して設定されたサイト、リンク、およびサービスと、YAML を使用して直接設定されたものと同じであるようにします。
- サイトの作成
- サイトのリンク (1 つのサイトでリンクアクセスが有効になっている必要があります)
- サービスの公開および使用
第6章 Skupper CLI を使用した Kubernetes でのサイトの作成
skupper コマンドラインインターフェイス (CLI) を使用すると、現在の namespace のコンテキストからサイトを作成および管理できます。
一般的なワークフローは、サイトを作成し、サイト同士をリンクして、サービスをサービスネットワークに公開することです。
6.1. Skupper CLI の確認
skupper コマンドラインインターフェイス (CLI) をインストールすると、Skupper を簡単に使い始めることができます。
- Skupper のインストール の手順に従います。
インストールを確認します。
skupper version
$ skupper version COMPONENT VERSION cli {skupper_cli_version}
Copy to Clipboard Copied!
6.2. Kubernetes の CLI を使用した単純なサイトの作成
前提条件
-
skupper
CLI がインストールされている。 - Skupper コントローラーは、実行中の Kubernetes クラスター上で実行されているか、プラットフォーム上で実行されています。
手順
SKUPPER_PLATFORM
環境が設定されていないか、kubernetes
に設定されていることを確認します。-
kubernetes
- default -
podman
-
docker
-
linux
-
Kubernetes でサイトを作成します。
skupper site create <site-name> --namespace <namespace>
$ skupper site create <site-name> --namespace <namespace>
Copy to Clipboard Copied! サイトを作成する namespace にコンテキストが設定されている場合、namespace を指定する必要はありません。以下に例を示します。
skupper site create my-site
$ skupper site create my-site Waiting for status... Site "my-site" is ready.
Copy to Clipboard Copied! CLI を使用してサイトを作成するときに考慮すべきオプションは多数あります。よく使用される オプションなどは、CLI リファレンス を参照してください。
以下に例を示します。
--enable-link-access
このオプションを有効にすると、トークンを作成してこのサイト に対して リンクできるようになります。デフォルトではこのオプションは無効になっていますが、後で
skupper site update --enable-link-access
で設定を変更できます。--timeout <time>
タイムアウトオプションを追加して、サイトステータスが
ready
と報告されるまで CLI が待機する最大時間を指定できます。skupper site create my-site --timeout 2m
skupper site create my-site --timeout 2m
Copy to Clipboard Copied! タイムアウトオプションはサイトの作成を停止しませんが、サイトの準備ができていない場合は、次のように出力されます。
Site "my-site" is not yet ready: Pending
Site "my-site" is not yet ready: Pending
Copy to Clipboard Copied! skupper site status
を使用すると、いつでもサイトのステータスを確認できます。
6.3. Kubernetes の CLI を使用したサイトの削除
前提条件
-
skupper
CLI がインストールされている。
手順
以下のように、サイトが作成された namespace にコンテキストを変更します。
kubectl config set-context --current --namespace west
kubectl config set-context --current --namespace west
Copy to Clipboard Copied! 以下のコマンドを入力してサイトを削除します。
skupper site delete
skupper site delete
Copy to Clipboard Copied!
第7章 Skupper CLI を使用した Kubernetes でのサイトのリンク
Skupper コマンドラインインターフェイス (CLI) を使用すると、サイト間のリンクを作成できます。リンクの方向は重要ではなく、通常は接続の容易さによって決まります。たとえば、east がファイアウォールの背後にある場合、east から west にリンクするのが最も簡単なオプションです。
サイトがリンクされると、ポートの開放やサイト間の接続の管理なしに、、アプリケーションネットワーク全体でサービスを公開して使用できるようになります。
7.1. トークンを使用したサイトのリンク
トークンは、サイトをリンクするための安全な方法を提供します。デフォルトでは、トークンは 1 回のみ使用でき、サイトをリンクするには 15 分以内に使用する必要があります。この手順では、あるサイトからトークンを発行し、そのトークンを別のサイトで引き換えてリンクを作成する方法を説明します。
前提条件
- サイトを 2 つ。
-
enable-link-access
が有効になっているサイトを 1 つ以上。
サイトをリンクするには、あるサイトでトークンを作成し、もう一方のサイトでそのトークンを利用してリンクを作成します。
手順
トークンを発行するサイトで、リンクアクセスが有効になっていることを確認します。
skupper site update --enable-link-access
skupper site update --enable-link-access
Copy to Clipboard Copied! トークンを作成します。
skupper token issue <filename>
skupper token issue <filename>
Copy to Clipboard Copied! <filename>
は、ローカルファイルシステムに保存されている YAML ファイルの名前に置き換えます。このファイルには、キーとそれを作成したサイトの場所が含まれています。
📌 注意 このファイルにアクセスすると、アプリケーションネットワークにアクセスできるようになります。適切に保護してください。トークンは、以下の任意の組み合わせによって制限できます。
時間 - 指定された期間を過ぎると、トークンの再利用ができなくなります。
たとえば、トークンの発行後 1 時間使用できるようにするには、次のようにします。
skupper token issue build/west.yaml --expiration-window 60m
skupper token issue build/west.yaml --expiration-window 60m
Copy to Clipboard Copied! 使用法 - 1 つトークンから複数のリンクが作成されるのを防ぎます。
たとえば、トークンを使用できるように 3 回するには、以下を実行します。
skupper token issue output/west.yaml --redemptions-allowed 3
skupper token issue output/west.yaml --redemptions-allowed 3
Copy to Clipboard Copied!
すべてのサイト間トラフィックは、専用の専用認証局 (CA) を使用した相互 TLS によって保護されます。トークンは証明書ではありませんが、リンクプロセス中に証明書と安全に交換されます。
別のサイトでトークンを引き換えてリンクを作成します。
skupper token redeem <filename>
skupper token redeem <filename>
Copy to Clipboard Copied! <filename>
は、ローカルファイルシステムに保存されている YAML ファイルの名前に置き換えます。リンクのステータスを確認します。
skupper link status
skupper link status
Copy to Clipboard Copied! リンクの準備が整う前に、コマンドを複数回発行する必要がある場合があります。
skupper link status skupper link status
$ skupper link status NAME STATUS COST MESSAGE west-12f75bc8-5dda-4256-88f8-9df48150281a Pending 1 Not Operational $ skupper link status NAME STATUS COST MESSAGE west-12f75bc8-5dda-4256-88f8-9df48150281a Ready 1 OK
Copy to Clipboard Copied! アプリケーションネットワーク上でサービスを公開できるようになりました。
CLI を使用してサイトをリンクするときに考慮すべきオプションは多数あります。よく使用される オプションなどは、CLI リファレンス を参照してください。
7.2. link
リソースを使用したサイトのリンク
トークンを使用して別の方法でサイトをリンクするには、CLI を使用して link
リソース YAML ファイルを作成し、そのリソースを別のサイトに適用します。
前提条件
- サイトを 2 つ。
-
enable-link-access
が有効になっているサイトを 1 つ以上。
サイトをリンクするには、1 つのサイトに link
リソース YAML ファイルを作成し、そのリソースを他のサイトに適用してリンクを作成します。
手順
リンクを作成するサイトで、リンクアクセスが有効になっていることを確認します。
skupper site update --enable-link-access
skupper site update --enable-link-access
Copy to Clipboard Copied! link
リソース YAML ファイルを作成します。skupper link generate > <filename>
skupper link generate > <filename>
Copy to Clipboard Copied! <filename>
は、ローカルファイルシステムに保存されている YAML ファイルの名前に置き換えます。別のサイトに
link
リソースの YAML ファイルを適用して、リンクを作成します。kubectl apply -f <filename>
kubectl apply -f <filename>
Copy to Clipboard Copied! <filename>
は、ローカルファイルシステムに保存されている YAML ファイルの名前に置き換えます。リンクのステータスを確認します。
skupper link status
skupper link status
Copy to Clipboard Copied! リンクの準備が整う前に、コマンドを複数回発行する必要がある場合があります。
skupper link status skupper link status
$ skupper link status NAME STATUS COST MESSAGE west-12f75bc8-5dda-4256-88f8-9df48150281a Pending 1 Not Operational $ skupper link status NAME STATUS COST MESSAGE west-12f75bc8-5dda-4256-88f8-9df48150281a Ready 1 OK
Copy to Clipboard Copied! アプリケーションネットワーク上でサービスを公開できるようになりました。
CLI を使用してサイトをリンクするときに考慮すべきオプションは多数あります。よく使用される オプションなどは、CLI リファレンス を参照してください。
第8章 CLI を使用したアプリケーションネットワーク上のサービスの公開
サイトをリンクしてアプリケーションネットワークを作成した後、コネクターを使用して 1 つのサイトからサービスを公開し、リスナーを使用して他のサイトでそれらのサービスを利用できます。ルーティングキー は、1 つ以上のコネクターと 1 つ以上のリスナーを照合する文字列です。たとえば、ルーティングキー backend
を使用してコネクターを作成する場合、そのサービスを利用するには、ルーティングキー backend
を使用してリスナーを作成する必要があります。
このセクションでは、少なくとも 2 つのサイトを作成してリンクしていることを前提としています。
8.1. CLI を使用したコネクターの作成
コネクターは、ローカルのワークロードをリモートサイトのリスナーにバインドします。リスナーとコネクターはルーティングキーを使用して照合されます。
コネクターの詳細は、コネクターの概念 を参照してください。
手順
ネットワーク上で公開するワークロードを作成します。以下に例を示します。
kubectl create deployment backend --image quay.io/skupper/hello-world-backend --replicas 3
kubectl create deployment backend --image quay.io/skupper/hello-world-backend --replicas 3
Copy to Clipboard Copied! コネクターを作成します。
skupper connector create <name> <port> [--routing-key <name>]
skupper connector create <name> <port> [--routing-key <name>]
Copy to Clipboard Copied! 以下に例を示します。
skupper connector create backend 8080 --workload deployment/backend
skupper connector create backend 8080 --workload deployment/backend
Copy to Clipboard Copied! コネクターのステータスを確認します。
skupper connector status
skupper connector status
Copy to Clipboard Copied! 以下に例を示します。
skupper connector status
$ skupper connector status NAME STATUS ROUTING-KEY SELECTOR HOST PORT HAS MATCHING LISTENER MESSAGE backend Pending backend app=backend 8080 false No matching listeners
Copy to Clipboard Copied! 📌 注意 デフォルトでは、ルーティングキー名はコネクターの名前に設定されています。カスタムルーティングキーを使用する場合は、
--routing-key
をカスタム名に設定します。
CLI を使用してコネクターを作成するときに考慮すべきオプションは多数あります。よく使用される オプションなどは、CLI リファレンス を参照してください。
関連情報
別の namespace からサービスを公開する必要がある場合は、YAML を使用して別の namespace のコネクターを作成する の説明に従って YAML を使用する必要があります。
8.2. CLI を使用したリスナーの作成
リスナーは、ローカル接続エンドポイントをリモートサイトのコネクターにバインドします。リスナーとコネクターはルーティングキーを使用して照合されます。
リスナーの詳細は、リスナーの概念 を参照してください。
手順
- 使用するコネクターを特定します。そのコネクターのルーティングキーをメモします。
リスナーを作成します。
skupper connector create <name> <port> [--routing-key <name>]
skupper connector create <name> <port> [--routing-key <name>]
Copy to Clipboard Copied! 以下に例を示します。
skupper listener create backend 8080
$ skupper listener create backend 8080 Waiting for create to complete... Listener "backend" is ready
Copy to Clipboard Copied! リスナーのステータスを確認します。
skupper listener status
skupper listener status
Copy to Clipboard Copied! 以下に例を示します。
skupper listener status
$ skupper listener status NAME STATUS ROUTING-KEY HOST PORT MATCHING-CONNECTOR MESSAGE backend Ready backend backend 8080 true OK
Copy to Clipboard Copied! 📌 注意 サービスを動作させるには、
一致するコネクター
が必要です。デフォルトでは、ルーティングキー名はリスナー名です。カスタムルーティングキーを使用する場合は、--routing-key
をカスタム名に設定します。
CLI を使用してコネクターを作成するときに考慮すべきオプションは多数あります。よく使用される オプションなどは、CLI リファレンス を参照してください。
第9章 Kubernetes での YAML CLI の使用の概要
Skupper コントローラーをインストールした後、Kubernetes で YAML を使用できます。
- サイトの作成
- サイトのリンク (1 つのサイトでリンクアクセスが有効になっている必要があります)
- サービスの公開および使用
第10章 YAML を使用した Kubernetes でのサイトの作成
YAML を使用すると、現在の namespace のコンテキストからサイトを作成および管理できます。
一般的なワークフローは、サイトを作成し、サイト同士をリンクして、サービスをサービスネットワークに公開することです。
10.1. YAML を使用した Kubernetes での簡単なサイトの作成
YAML を使用して Skupper サイトを作成および管理できます。
前提条件
- Skupper コントローラーは、実行中の Kubernetes クラスター上で実行されているか、プラットフォーム上で実行されています。
手順
以下のように、名前が
my-site.yaml
のサイト CR YAML ファイルを作成します。apiVersion: skupper.io/v2alpha1 kind: Site metadata: name: my-site namespace: west
apiVersion: skupper.io/v2alpha1 kind: Site metadata: name: my-site namespace: west
Copy to Clipboard Copied! この YAML は、
west
namespace に名前がmy-site
のサイトを作成します。サイトを作成する namespace にコンテキストが設定されている場合、namespace を指定する必要はありません。サイトを作成します。
kubectl apply -f my-site.yaml
kubectl apply -f my-site.yaml
Copy to Clipboard Copied! サイトのステータスを確認します。
kubectl get site
kubectl get site
Copy to Clipboard Copied! サイトの準備が整う前に、コマンドを複数回発行する必要がある場合があります。
kubectl get site kubectl get site
$ kubectl get site NAME STATUS SITES IN NETWORK MESSAGE west Pending containers with unready status: [router kube-adaptor] $ kubectl get site NAME STATUS SITES IN NETWORK MESSAGE west Ready 1 OK
Copy to Clipboard Copied! これで、このサイトを別のサイトにリンクして、アプリケーションネットワークを作成できるようになりました。
YAML を使用してサイトを作成するときに考慮すべきオプションは多数あります。よく使用される オプションなどは、YAML リファレンス を参照してください。
第11章 YAML を使用したアプリケーションネットワーク上のサービスの公開
サイトをリンクしてアプリケーションネットワークを作成した後、コネクターを使用して 1 つのサイトからサービスを公開し、リスナーを使用して他のサイトでそれらのサービスを利用できます。ルーティングキー は、1 つ以上のコネクターと 1 つ以上のリスナーを照合する文字列です。たとえば、ルーティングキー backend
を使用してコネクターを作成する場合、そのサービスを利用するには、ルーティングキー backend
を使用してリスナーを作成する必要があります。
このセクションでは、少なくとも 2 つのサイトを作成してリンクしていることを前提としています。
11.1. YAML を使用したコネクターの作成
コネクターは、ローカルのワークロードをリモートサイトのリスナーにバインドします。リスナーとコネクターはルーティングキーを使用して照合されます。
YAML を使用してコネクターを作成するときに考慮すべきオプションは多数あります。コネクターリソース を参照してください。
手順
ネットワーク上で公開するワークロードを作成します。以下に例を示します。
kubectl create deployment backend --image quay.io/skupper/hello-world-backend --replicas 3
kubectl create deployment backend --image quay.io/skupper/hello-world-backend --replicas 3
Copy to Clipboard Copied! コネクターリソース YAML ファイルを作成します。
apiVersion: skupper.io/v2alpha1 kind: Connector metadata: name: backend namespace: east spec: routingKey: backend selector: app=backend port: 8080
apiVersion: skupper.io/v2alpha1 kind: Connector metadata: name: backend namespace: east spec: routingKey: backend selector: app=backend port: 8080
Copy to Clipboard Copied! これにより、
東
サイトにコネクターが作成され、ポート 8080 のネットワーク上でbackend
のデプロイメントが公開されます。一致するルーティングキーのbackend
を使用して、別のサイトでリスナーを作成し、このサービスに対処できます。コネクターリソースを作成するには以下を実行します。
kubectl apply -f <filename>
kubectl apply -f <filename>
Copy to Clipboard Copied! <filename>
は、ローカルファイルシステムに保存されている YAML ファイルの名前に置き換えます。コネクターのステータスを確認します。
kubectl get connector
kubectl get connector
Copy to Clipboard Copied! 以下に例を示します。
NAME STATUS ROUTING-KEY SELECTOR HOST PORT HAS MATCHING LISTENER MESSAGE backend Pending backend app=backend 8080 false No matching listeners
NAME STATUS ROUTING-KEY SELECTOR HOST PORT HAS MATCHING LISTENER MESSAGE backend Pending backend app=backend 8080 false No matching listeners
Copy to Clipboard Copied! 📌 注意 デフォルトでは、ルーティングキー名はコネクターの名前に設定されています。カスタムルーティングキーを使用する場合は、
--routing-key
をカスタム名に設定します。
YAML を使用してコネクターを作成するときに考慮すべきオプションは多数あります。よく使用される オプションなどは、CLI リファレンス を参照してください。
11.2. YAML を使用したリスナーの作成
リスナーは、ローカル接続エンドポイントをリモートサイトのコネクターにバインドします。リスナーとコネクターはルーティングキーを使用して照合されます。
リスナーの詳細は、リスナーの概念 を参照してください。
手順
- 使用するコネクターを特定します。そのコネクターのルーティングキーをメモします。
リスナーリソース YAML ファイルを作成します。
apiVersion: skupper.io/v2alpha1 kind: Listener metadata: name: backend namespace: west spec: routingKey: backend host: east-backend port: 8080
apiVersion: skupper.io/v2alpha1 kind: Listener metadata: name: backend namespace: west spec: routingKey: backend host: east-backend port: 8080
Copy to Clipboard Copied! これにより、
west
サイトにリスナーが作成され、ルーティングキーbackend
を使用するコネクターとマッチします。また、現在の namespace のポート 8080 で公開されているeast-backend
という名前のサービスも作成します。コネクターリソースを作成するには以下を実行します。
kubectl apply -f <filename>
kubectl apply -f <filename>
Copy to Clipboard Copied! <filename>
は、ローカルファイルシステムに保存されている YAML ファイルの名前に置き換えます。リスナーのステータスを確認します。
kubectl get listener
kubectl get listener
Copy to Clipboard Copied! 以下に例を示します。
NAME ROUTING KEY PORT HOST STATUS HAS MATCHING CONNECTOR MESSAGE backend backend 8080 east-backend Ready true OK
NAME ROUTING KEY PORT HOST STATUS HAS MATCHING CONNECTOR MESSAGE backend backend 8080 east-backend Ready true OK
Copy to Clipboard Copied! 📌 注意 サービスを動作させるには、
一致するコネクター
が必要です。
YAML を使用してリスナーを作成するときに考慮すべきオプションは多数あります。リスナーリソース を参照してください。
11.3. YAML を使用した別の namespace のコネクターの作成
コネクターは、ローカルのワークロードをリモートサイトのリスナーにバインドします。
ある namespace にサイトを作成し、別の namespace でサービスを公開する必要がある場合は、この手順を使用して、他の namespace に 接続コネクター を作成し、サイトの namespace に AttachedConnectorBinding を作成します。
- アタッチされたコネクターは、ピア namespace 内のコネクターであり、サイト namespace のコネクターではありません。
- AttachedConnectorBinding は、ピア namespace 内の接続されたコネクターへのバインディングであり、サイト namespace に作成されます。
手順
サイト以外の namespace のネットワーク上に公開するワークロードを作成します。以下に例を示します。
kubectl create deployment backend --image quay.io/skupper/hello-world-backend --replicas 3
kubectl create deployment backend --image quay.io/skupper/hello-world-backend --replicas 3
Copy to Clipboard Copied! 同じ namespace に AttachedConnector リソースの YAML ファイルを作成します。
apiVersion: skupper.io/v2alpha1 kind: AttachedConnector metadata: name: backend namespace: attached spec: siteNamespace: skupper selector: app=backend port: 8080
apiVersion: skupper.io/v2alpha1 kind: AttachedConnector metadata: name: backend namespace: attached spec: siteNamespace: skupper selector: app=backend port: 8080
Copy to Clipboard Copied! AttachedConnector リソースを作成するには、以下を実行します。
kubectl apply -f <filename>
kubectl apply -f <filename>
Copy to Clipboard Copied! <filename>
は、ローカルファイルシステムに保存されている YAML ファイルの名前に置き換えます。サイトの namespace に AttachedConnectorBinding リソース YAML ファイルを作成します。
apiVersion: skupper.io/v2alpha1 kind: AttachedConnector metadata: name: backend namespace: attached spec: siteNamespace: skupper selector: app=backend port: 8080
apiVersion: skupper.io/v2alpha1 kind: AttachedConnector metadata: name: backend namespace: attached spec: siteNamespace: skupper selector: app=backend port: 8080
Copy to Clipboard Copied! AttachedConnectorBinding リソースを作成するには、以下を実行します。
kubectl apply -f <filename>
kubectl apply -f <filename>
Copy to Clipboard Copied! <filename>
は、ローカルファイルシステムに保存されている YAML ファイルの名前に置き換えます。サイト namespace のコンテキストから AttachedConnectorBinding のステータスを確認します。
kubectl get AttachedConnectorBinding
kubectl get AttachedConnectorBinding
Copy to Clipboard Copied! 以下に例を示します。
NAME ROUTING KEY CONNECTOR NAMESPACE STATUS HAS MATCHING LISTENER backend backend attached Ready true
NAME ROUTING KEY CONNECTOR NAMESPACE STATUS HAS MATCHING LISTENER backend backend attached Ready true
Copy to Clipboard Copied! 📌 注意 デフォルトでは、ルーティングキー名はコネクターの名前に設定されています。カスタムルーティングキーを使用する場合は、
--routing-key
をカスタム名に設定します。
YAML を使用してコネクターを作成するときに考慮すべきオプションは多数あります。コネクターリソース を参照してください。
第12章 ローカルシステムでの Skupper CLI の概要
これはテクノロジープレビューの機能です。
テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat では、実稼働環境での使用を推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
- サイトの作成
- サイトのリンク (1 つのサイトでリンクアクセスが有効になっている必要があります)
- サービスの公開および使用
第13章 Skupper CLI を使用したローカルシステムでのサイトの作成
skupper コマンドラインインターフェイス (CLI) を使用すると、現在の namespace のコンテキストから Skupper サイトを作成および管理できます。
一般的なワークフローは、サイトを作成し、サイト同士をリンクして、サービスをサービスネットワークに公開することです。
ローカルシステム には、Docker、Podman、または Linux システムが含まれます。
複数のサイトが必要な場合は、skupper
を使用するときに一意の namespace を指定します (例: skupper --namespace second-site ...)
。
13.1. Skupper CLI と環境の確認
skupper コマンドラインインターフェイス (CLI) をインストールすると、Skupper を簡単に使い始めることができます。
- Skupper のインストール の手順に従います。
インストールを確認します。
skupper version
$ skupper version COMPONENT VERSION cli {skupper_cli_version}
Copy to Clipboard Copied! podman サイトの場合:
Podman ソケットが使用可能であることを確認してください。有効にするには、以下のように設定します。
systemctl --user enable --now podman.socket
systemctl --user enable --now podman.socket
Copy to Clipboard Copied! ログアウト後もサイトが存続するようにするには、linger を有効にします。
loginctl enable-linger <username>
loginctl enable-linger <username>
Copy to Clipboard Copied!
13.2. ローカルシステムでの CLI を使用した単純なサイトの作成
前提条件
-
skupper
CLI がインストールされている。
手順
インストールするサイトのタイプに応じて
SKUPPER_PLATFORM
を設定します。-
podman
-
docker
-
linux
-
サイトを作成します。
skupper site create <site-name>
$ skupper site create <site-name>
Copy to Clipboard Copied! 以下に例を示します。
skupper site create my-site
$ skupper site create my-site Waiting for status... Site "my-site" is ready.
Copy to Clipboard Copied!
📌 注記: Kubernetes 以外のサイトでは、namespace を指定することでユーザーごとに複数のサイトを作成できます。
13.3. ローカルシステムでの CLI を使用したサイトの削除
前提条件
-
skupper
CLI がインストールされている。
手順
以下のコマンドを入力してサイトを削除します。
skupper system teardown
skupper system teardown
Copy to Clipboard Copied!
第14章 Skupper CLI を使用したローカルシステムでのサイトのリンク
Skupper コマンドラインインターフェイス (CLI) を使用すると、サイト間のリンクを作成できます。リンクの方向は重要ではなく、通常は接続の容易さによって決まります。たとえば、east がファイアウォールの背後にある場合、east から west にリンクするのが最も簡単なオプションです。
サイトがリンクされると、ポートの開放やサイト間の接続の管理なしに、、アプリケーションネットワーク全体でサービスを公開して使用できるようになります。
ローカルシステム には、Docker、Podman、または Linux システムが含まれます。
このリリースでは、CLI はトークンの発行または引き換えをサポートしていません。このリリースでは、CLI は link
リソースファイルの生成をサポートしていません。
ローカルシステムサイトを Kubernetes サイトにリンクするには、YAML を使用したローカルシステムでのサイトのリンク を参照してください。
第15章 CLI を使用したアプリケーションネットワーク上のサービスの公開
サイトをリンクしてアプリケーションネットワークを作成した後、コネクターを使用して 1 つのサイトからサービスを公開し、リスナーを使用して他のサイトでそれらのサービスを利用できます。ルーティングキー は、1 つ以上のコネクターと 1 つ以上のリスナーを照合する文字列です。たとえば、ルーティングキー backend
を使用してコネクターを作成する場合、そのサービスを利用するには、ルーティングキー backend
を使用してリスナーを作成する必要があります。
このセクションでは、少なくとも 2 つのサイトを作成してリンクしていることを前提としています。
15.1. CLI を使用したコネクターの作成
コネクターは、ローカルのワークロードをリモートサイトのリスナーにバインドします。リスナーとコネクターはルーティングキーを使用して照合されます。
コネクターの詳細は、コネクターの概念 を参照してください。
前提条件
-
skupper
CLI がインストールされている。 -
SKUPPER_PLATFORM
環境変数がpodman
、docker
、linux
のいずれかに設定されている。
手順
- ネットワーク上で公開するサーバーを作成します。たとえば、ポート 8080 で HTTP サーバーを実行します。
コネクターを作成します。
skupper connector create <name> <port> [--routing-key <name>]
skupper connector create <name> <port> [--routing-key <name>]
Copy to Clipboard Copied! 以下に例を示します。
skupper connector create my-server 8080 --host localhost
skupper connector create my-server 8080 --host localhost
Copy to Clipboard Copied! コネクターのステータスを確認します。
skupper connector status
skupper connector status
Copy to Clipboard Copied! 以下に例を示します。
skupper connector status
$ skupper connector status NAME STATUS ROUTING-KEY HOST PORT my-server Ok my-server localhost 8081
Copy to Clipboard Copied! 📌 注意 デフォルトでは、ルーティングキー名はコネクターの名前に設定されています。カスタムルーティングキーを使用する場合は、
--routing-key
をカスタム名に設定します。以下を使用して設定を適用します。
skupper system reload
skupper system reload
Copy to Clipboard Copied!
CLI を使用してコネクターを作成するときに考慮すべきオプションは多数あります。よく使用される オプションなどは、CLI リファレンス を参照してください。
15.2. CLI を使用したリスナーの作成
リスナーは、ローカル接続エンドポイントをリモートサイトのコネクターにバインドします。リスナーとコネクターはルーティングキーを使用して照合されます。
前提条件
-
skupper
CLI がインストールされている。 -
SKUPPER_PLATFORM
環境変数がpodman
、docker
、linux
のいずれかに設定されている。
手順
- 使用するコネクターを特定します。そのコネクターのルーティングキーをメモします。
リスナーを作成します。
skupper connector create <name> <port> [--routing-key <name>]
skupper connector create <name> <port> [--routing-key <name>]
Copy to Clipboard Copied! 以下に例を示します。
skupper listener create my-server 8080
$ skupper listener create my-server 8080 File written to /home/user/.local/share/skupper/namespaces/default/input/resources/Listener-backend.yaml
Copy to Clipboard Copied! 以下を使用して設定を適用します。
skupper system reload
skupper system reload
Copy to Clipboard Copied! リスナーのステータスを確認します。
skupper listener status
skupper listener status
Copy to Clipboard Copied! 以下に例を示します。
skupper listener status
$ skupper listener status NAME STATUS ROUTING-KEY HOST PORT my-server Ok my-server localhost 8081
Copy to Clipboard Copied! 📌 注意 サービスを動作させるには、一致するコネクターが必要です。デフォルトでは、ルーティングキー名はリスナー名です。カスタムルーティングキーを使用する場合は、
--routing-key
をカスタム名に設定します。
CLI を使用してコネクターを作成するときに考慮すべきオプションは多数あります。よく使用される オプションなどは、CLI リファレンス を参照してください。
第16章 ローカルシステムでの YAML の使用の概要
これはテクノロジープレビューの機能です。
テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat では、実稼働環境での使用を推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
- サイトの作成
- サイトのリンク (1 つのサイトでリンクアクセスが有効になっている必要があります)
- サービスの公開および使用
第17章 YAML を使用したローカルシステムでのサイトの作成
YAML を使用すると、Docker、Podman、および Linux でサイトを作成および管理できます。
一般的なワークフローは、サイトを作成し、サイト同士をリンクして、サービスをサービスネットワークに公開することです。
複数のサイトが必要な場合は、skupper
を使用するときに一意の namespace を指定します (例: skupper --namespace second-site ...)
。
17.1. YAML を使用したローカルシステムでの簡単なサイトの作成
YAML を使用して Skupper サイトを作成および管理できます。
前提条件
-
skupper
CLI がインストールされている。
手順
空のディレクトリー (例:
local
) に、名前をmy-site.yaml
に指定してサイト CR YAML ファイルを作成します。apiVersion: skupper.io/v2alpha1 kind: Site metadata: name: my-site
apiVersion: skupper.io/v2alpha1 kind: Site metadata: name: my-site
Copy to Clipboard Copied! この YAML は、
default
の namespace に名前がmy-site
のサイトを作成します。サイトを作成します。
skupper system setup --path ./local
skupper system setup --path ./local
Copy to Clipboard Copied! Skupper は
local
ディレクトリー内のファイルを処理しようとします。通常、skupper system setup
を実行する前に、サイトに必要なすべてのリソースを作成します。サイトのステータスを確認します。
skupper site status
skupper site status
Copy to Clipboard Copied! サイトの準備が整う前に、コマンドを複数回発行する必要がある場合があります。
NAME STATUS MESSAGE default Ready OK
NAME STATUS MESSAGE default Ready OK
Copy to Clipboard Copied! これで、このサイトを別のサイトにリンクして、アプリケーションネットワークを作成できるようになりました。
YAML を使用してサイトを作成するときに考慮すべきオプションは多数あります。よく使用される オプションなどは、YAML リファレンス を参照してください。
第18章 YAML を使用してローカルシステムでのサイトのリンク
link
リソースの YAML ファイルを使用すると、サイト間にリンクを作成できます。リンクの方向は重要ではなく、通常は接続の容易さによって決まります。たとえば、east がファイアウォールの背後にある場合、east から west にリンクするのが最も簡単なオプションです。
サイトがリンクされると、ポートの開放やサイト間の接続の管理なしに、、アプリケーションネットワーク全体でサービスを公開して使用できるようになります。
以下の手順では、既存のサイトへのリンクを説明します。通常、サイト、リンク、サービスを一連のファイルで設定し、すべての YAML ファイルをディレクトリー (たとえば local)
に配置して、次のコマンドを使用して設定済みのサイトを作成する方が簡単です。
18.1. link
リソースを使用したサイトのリンク
トークンを使用して別の方法でサイトをリンクするには、CLI を使用して link
リソース YAML ファイルを作成し、そのリソースを別のサイトに適用します。
前提条件
- ローカルシステムのサイト。
-
enable-link-access
が有効になっている Kubernetes サイト。
サイトをリンクするには、1 つのサイトに link
リソース YAML ファイルを作成し、そのリソースを他のサイトに適用してリンクを作成します。
手順
リンクを作成するサイトで、リンクアクセスが有効になっていることを確認します。
skupper site update --enable-link-access
skupper site update --enable-link-access
Copy to Clipboard Copied! link
リソース YAML ファイルを作成します。skupper link generate > <filename>
skupper link generate > <filename>
Copy to Clipboard Copied! <filename>
は、ローカルファイルシステムに保存されている YAML ファイルの名前に置き換えます。ローカルシステムサイトに
link
リソース YAML ファイルを適用して、リンクを作成します。mv <filename> ~/.local/share/skupper/namespaces/default/input/resources/ skupper system setup --force
mv <filename> ~/.local/share/skupper/namespaces/default/input/resources/ skupper system setup --force
Copy to Clipboard Copied! <filename>
は、ローカルファイルシステムに保存されている YAML ファイルの名前に置き換えます。表示されるパスは、
default
namespace に固有のものです。別の namespace を設定している場合は、代わりにその名前を使用してください。以下のように、サイトが再作成され、影響を受けていない内部リソースの一部が表示されます。
Sources will be consumed from namespace "default" 2025/03/09 22:43:14 WARN certificate will not be overwritten path=~/.local/share/skupper/namespaces/default/runtime/issuers/skupper-local-ca/tls.crt 2025/03/09 22:43:14 WARN certificate will not be overwritten path=~/.local/share/skupper/namespaces/default/runtime/issuers/skupper-local-ca/tls.key 2025/03/09 22:43:14 WARN certificate will not be overwritten path=~/.local/share/skupper/namespaces/default/runtime/issuers/skupper-local-ca/ca.crt 2025/03/09 22:43:14 WARN certificate will not be overwritten path=~/.local/share/skupper/namespaces/default/runtime/issuers/skupper-site-ca/tls.crt 2025/03/09 22:43:14 WARN certificate will not be overwritten path=~/.local/share/skupper/namespaces/default/runtime/issuers/skupper-site-ca/tls.key 2025/03/09 22:43:14 WARN certificate will not be overwritten path=~/.local/share/skupper/namespaces/default/runtime/issuers/skupper-site-ca/ca.crt 2025/03/09 22:43:15 WARN certificate will not be overwritten path=~/.local/share/skupper/namespaces/default/runtime/issuers/skupper-service-ca/tls.crt 2025/03/09 22:43:15 WARN certificate will not be overwritten path=~/.local/share/skupper/namespaces/default/runtime/issuers/skupper-service-ca/tls.key 2025/03/09 22:43:15 WARN certificate will not be overwritten path=~/.local/share/skupper/namespaces/default/runtime/issuers/skupper-service-ca/ca.crt
Sources will be consumed from namespace "default" 2025/03/09 22:43:14 WARN certificate will not be overwritten path=~/.local/share/skupper/namespaces/default/runtime/issuers/skupper-local-ca/tls.crt 2025/03/09 22:43:14 WARN certificate will not be overwritten path=~/.local/share/skupper/namespaces/default/runtime/issuers/skupper-local-ca/tls.key 2025/03/09 22:43:14 WARN certificate will not be overwritten path=~/.local/share/skupper/namespaces/default/runtime/issuers/skupper-local-ca/ca.crt 2025/03/09 22:43:14 WARN certificate will not be overwritten path=~/.local/share/skupper/namespaces/default/runtime/issuers/skupper-site-ca/tls.crt 2025/03/09 22:43:14 WARN certificate will not be overwritten path=~/.local/share/skupper/namespaces/default/runtime/issuers/skupper-site-ca/tls.key 2025/03/09 22:43:14 WARN certificate will not be overwritten path=~/.local/share/skupper/namespaces/default/runtime/issuers/skupper-site-ca/ca.crt 2025/03/09 22:43:15 WARN certificate will not be overwritten path=~/.local/share/skupper/namespaces/default/runtime/issuers/skupper-service-ca/tls.crt 2025/03/09 22:43:15 WARN certificate will not be overwritten path=~/.local/share/skupper/namespaces/default/runtime/issuers/skupper-service-ca/tls.key 2025/03/09 22:43:15 WARN certificate will not be overwritten path=~/.local/share/skupper/namespaces/default/runtime/issuers/skupper-service-ca/ca.crt
Copy to Clipboard Copied! リンクのステータスを確認します。
skupper link status
skupper link status
Copy to Clipboard Copied! 出力にはリンク名が表示されます。
skupper link status
$ skupper link status NAME STATUS link-west Ok
Copy to Clipboard Copied! アプリケーションネットワーク上でサービスを公開できるようになりました。
第19章 YAML を使用したアプリケーションネットワーク上のサービスの公開
サイトをリンクしてアプリケーションネットワークを作成した後、コネクターを使用して 1 つのサイトからサービスを公開し、リスナーを使用して他のサイトでそれらのサービスを利用できます。ルーティングキー は、1 つ以上のコネクターと 1 つ以上のリスナーを照合する文字列です。たとえば、ルーティングキー backend
を使用してコネクターを作成する場合、そのサービスを利用するには、ルーティングキー backend
を使用してリスナーを作成する必要があります。
このセクションでは、少なくとも 2 つのサイトを作成してリンクしていることを前提としています。
19.1. YAML を使用したコネクターの作成
コネクターは、ローカルのワークロードをリモートサイトのリスナーにバインドします。リスナーとコネクターはルーティングキーを使用して照合されます。
コネクターの詳細は、コネクターの概念 を参照してください。
手順
ネットワーク上で公開するワークロードを作成します。以下に例を示します。
kubectl create deployment backend --image quay.io/skupper/hello-world-backend --replicas 3
kubectl create deployment backend --image quay.io/skupper/hello-world-backend --replicas 3
Copy to Clipboard Copied! コネクターリソース YAML ファイルを作成します。
apiVersion: skupper.io/v2alpha1 kind: Connector metadata: name: backend namespace: east spec: routingKey: backend selector: app=backend port: 8080
apiVersion: skupper.io/v2alpha1 kind: Connector metadata: name: backend namespace: east spec: routingKey: backend selector: app=backend port: 8080
Copy to Clipboard Copied! これにより、
東
サイトにコネクターが作成され、ポート 8080 のネットワーク上でbackend
のデプロイメントが公開されます。一致するルーティングキーのbackend
を使用して、別のサイトでリスナーを作成し、このサービスに対処できます。コネクターリソースを作成するには以下を実行します。
kubectl apply -f <filename>
kubectl apply -f <filename>
Copy to Clipboard Copied! <filename>
は、ローカルファイルシステムに保存されている YAML ファイルの名前に置き換えます。コネクターのステータスを確認します。
kubectl get connector
kubectl get connector
Copy to Clipboard Copied! 以下に例を示します。
NAME STATUS ROUTING-KEY SELECTOR HOST PORT HAS MATCHING LISTENER MESSAGE backend Pending backend app=backend 8080 false No matching listeners
NAME STATUS ROUTING-KEY SELECTOR HOST PORT HAS MATCHING LISTENER MESSAGE backend Pending backend app=backend 8080 false No matching listeners
Copy to Clipboard Copied! 📌 注意 デフォルトでは、ルーティングキー名はコネクターの名前に設定されています。カスタムルーティングキーを使用する場合は、
--routing-key
をカスタム名に設定します。
YAML を使用してコネクターを作成するときに考慮すべきオプションは多数あります。よく使用される オプションなどは、CLI リファレンス を参照してください。
19.2. YAML を使用したリスナーの作成
リスナーは、ローカル接続エンドポイントをリモートサイトのコネクターにバインドします。リスナーとコネクターはルーティングキーを使用して照合されます。
手順
- 使用するコネクターを特定します。そのコネクターのルーティングキーをメモします。
リスナーリソース YAML ファイルを作成します。
apiVersion: skupper.io/v2alpha1 kind: Listener metadata: name: backend namespace: west spec: routingKey: backend host: east-backend port: 8080
apiVersion: skupper.io/v2alpha1 kind: Listener metadata: name: backend namespace: west spec: routingKey: backend host: east-backend port: 8080
Copy to Clipboard Copied! これにより、
west
サイトにリスナーが作成され、ルーティングキーbackend
を使用するコネクターとマッチします。また、現在の namespace のポート 8080 で公開されているeast-backend
という名前のサービスも作成します。コネクターリソースを作成するには以下を実行します。
kubectl apply -f <filename>
kubectl apply -f <filename>
Copy to Clipboard Copied! <filename>
は、ローカルファイルシステムに保存されている YAML ファイルの名前に置き換えます。リスナーのステータスを確認します。
kubectl get listener
kubectl get listener
Copy to Clipboard Copied! 以下に例を示します。
NAME ROUTING KEY PORT HOST STATUS HAS MATCHING CONNECTOR MESSAGE backend backend 8080 east-backend Ready true OK
NAME ROUTING KEY PORT HOST STATUS HAS MATCHING CONNECTOR MESSAGE backend backend 8080 east-backend Ready true OK
Copy to Clipboard Copied! 📌 注意 サービスを動作させるには、
一致するコネクター
が必要です。
YAML を使用してコネクターを作成するときに考慮すべきオプションは多数あります。よく使用される オプションなどは、CLI リファレンス を参照してください。
第20章 Service Interconnect リファレンス
20.1. 参考資料
20.1.1. Skupper の概念
20.1.1.1. サイトの概念
サイトは、アプリケーションの ワークロード が実行されている ネットワーク 上の場所です。サイトは リンク で結合します。
サイトは、1 つのプラットフォームと 1 つのネットワークに関連付けられています。各サイトには 0 個以上のワークロードと、0 個以上のリンクが含まれます。
サイトは複数の プラットフォーム で動作します。プラットフォーム内では、サイトと namespace が 1 対 1 で対応しています。サイトはネットワークに動的に追加したり、ネットワークから動的に削除したりできます。
各サイトには、ローカルワークロードと通信してリモートサイトのルーターにトラフィックを転送する Skupper ルーターが 1 つあります。
20.1.1.2. ワークロードの概念
ワークロードとは、プラットフォーム 上で実行される一連のプロセスです。プロセス とは、Pod、コンテナー、またはシステムプロセスを指します。サイト 内のワークロードは、コネクター を使用して ネットワーク 上のサービスとして公開されます。
プラットフォームには 0 個以上のワークロードが含まれます。サイトにも 0 個以上のワークロードが含まれます。各ワークロードには、0 個以上のプロセスと 0 個以上の コネクター が含まれます。
ワークロードは、アプリケーションの他の部分が使用するネットワークインターフェイス (API など) を提供することで、アプリケーションの一部を実装します。ワークロードは、クライアントとサーバーの両方になり得ます。
Kubernetes では、ワークロードは Deployment、StatefulSet、または DaemonSet です。Docker または Podman では、ワークロードは一連のコンテナーです。Linux では、ワークロードは一連のシステムプロセスです。
20.1.1.3. プラットフォームの概念
プラットフォームは、アプリケーションの ワークロード を実行するためのシステムです。プラットフォームは サイト をホストします。Skupper は、Kubernetes、Docker、Podman、Linux をサポートしています。ネットワーク内の各サイトは、サポートされている任意のプラットフォームで実行できます。
プラットフォームは、関連するワークロードとリソースの namespaces を提供します。Skupper は namespace を使用して、プラットフォームの 1 つのインスタンス上で複数の独立したサイトをホストします。プラットフォーム上の各サイトは、個別のアプリケーションネットワークに所属できます。
プラットフォームには 0 個以上の namespace が含まれます。各 namespace は 0 個以上のワークロードに関連付けられています。namespace はサイトに関連付けられることがあります。
20.1.1.4. ネットワークの概念
ネットワークは、リンク によって結合された サイト の集合です。Skupper ネットワークは、アプリケーションネットワークまたは仮想アプリケーションネットワーク (VAN) とも呼ばれます。
ネットワークには 1 つ以上のサイトがあります。各サイトは 1 つのネットワークにのみ属します。
ネットワーク内の各サイトは、ネットワーク内の他のサイトにサービスを公開できます。その結果、ネットワーク内の各サイトは公開されたサービスにアクセスできるようになります。各ネットワークは 1 つの分散アプリケーションを対象としています。これにより、他のアプリケーションやネットワークからの分離が実現します。
20.1.1.5. リンクの概念
リンクは サイト 間の通信チャネルです。リンクは、アプリケーションの接続とリクエストを伝送します。リンクされたサイトの集合により ネットワーク が構成されます。
リモートサイトへのリンクを作成するには、リモートサイトで リンクアクセス を有効にする必要があります。リンクアクセスは、リンクを受け入れるための外部アクセスポイントを提供します。
サイトには 0 個以上のリンクが含まれます。各リンクには、リモートサイトへの相互 TLS 接続を確立するためのホスト、ポート、および TLS 認証情報があります。さらに、サイトには 0 個以上のリンクアクセスが含まれます。通常、サイトごとに 1 つだけ必要です。各リンクアクセスには、リモートサイトからの接続を受け入れる TLS エンドポイントを公開するためのホスト、ポート、および TLS 認証情報があります。
アプリケーションの接続と要求は、リンクを介して双方向に移動します。リンクされたサイトは、直接リンクされていない場合でも、ネットワーク内の他のサイトと通信できます。リンクは、動的に追加および削除できます。
アクセストークン を使用して、リンクの作成に必要な接続の詳細を安全に交換できます。
20.1.1.6. アクセストークンの概念
アクセストークンは、リンク を作成するために使用される認証情報で、有効期限が短くなっています。アクセストークンには、対応する アクセス許可 の URL およびシークレットコードが含まれます。
アクセストークンはアクセス許可から発行されます。グラントは 0 個以上のトークンを発行します。トークンはリンクと引き換えられます。
アクセストークンには、引き換え回数と有効期間に制限があります。デフォルトでは、1 回のみ引き換え可能で、発行後 15 分で有効期限が切れます。アクセス許可を設定することで、カスタム制限を設定できます。
- リンクを受け入れるサイト (サイト 1) で、アクセス許可を作成します。
- アクセス許可を使用して対応するアクセストークンを発行し、リモートサイト (サイト 2) に転送します。
- サイト 2 は、引き換え用にアクセストークンをサイト 1 に送信します。
- トークンが有効な場合、サイト 1 は、サイト 1 へのリンク作成に必要な TLS ホスト、ポート、および認証情報をサイト 2 に送信します。
20.1.1.7. リスナーの概念
リスナーは、ローカル接続エンドポイントをリモート サイト の コネクター にバインドします。リスナーとコネクターは ルーティングキー を使用して照合されます。
サイトには 0 個以上のリスナーが含まれます。各リスナーには、関連付けられた接続エンドポイントとルーティングキーがあります。接続エンドポイントは、ローカルクライアントからの接続を受け入れるためのホストとポートを公開します。ルーティングキーは、リスナーをリモートサイトのコネクターにバインドする文字列識別子です。
Kubernetes では、リスナーは サービス として実装されます。Docker、Podman、Linux では、ローカルネットワークインターフェイスにバインドされたリスニングソケットです。
Skupper ルーターは、リスナーから、ルーティングキーが一致するコネクターにクライアント接続をネットワーク経由で転送します。次に、コネクターはクライアント接続をワークロードサーバーに転送します。
20.1.1.8. コネクターの概念
コネクターは、ローカルの ワークロード をリモート サイト の リスナー にバインドします。リスナーとコネクターは ルーティングキー を使用して照合されます。
サイトには 0 個以上のコネクターが含まれます。各コネクターには、関連付けられたワークロードおよびルーティングキーがあります。ワークロードは、Kubernetes Pod セレクターとして、またはローカルネットワークサービスのホストとポートとして指定できます。ルーティングキーは、コネクターをリモートサイトのリスナーにバインドする文字列識別子です。
Kubernetes では、ワークロードは通常、Pod セレクター を使用して指定されます。Docker、Podman、Linux では、ホストとポートを使用して指定されます。
Skupper ルーターは、リスナーから、ルーティングキーが一致するコネクターにクライアント接続をネットワーク経由で転送します。次に、コネクターはクライアント接続をワークロードサーバーに転送します。
20.1.1.9. ルーティングの主要概念
ルーティングキーは、リスナー と コネクター を対応付けする文字列識別子です。
ルーティングキーには 0 個以上のリスナーと 0 つ以上のコネクタが含まれます。サービスは、ルーティングキーに一致するリスナーとコネクターが少なくとも 1 つある場合に、アプリケーションネットワークに公開されます。
20.1.1.10. アプリケーションの概念
アプリケーションは連携して動作する一連の コンポーネント です。Skupper ネットワーク は 1 つのアプリケーション専用です。
アプリケーションには 1 つ以上のコンポーネントがあります。
20.1.1.11. コンポーネントの概念
コンポーネントは アプリケーション の論理的な部分です。各コンポーネントには、アプリケーションの目的を達成するための役割があります。コンポーネントは、REST API やデータベースリスナーなどの インターフェイス を提供し、また必要とします。コンポーネントは ワークロード によって実装されます。
アプリケーションには 1 つ以上のコンポーネントがあります。各コンポーネントは 0 個以上のインターフェイスを提供し、また必要とします。各コンポーネントは、0 個以上のワークロードによって実装されます。
20.1.2. Skupper リソース
20.1.2.1. Site リソース
サイトとは、アプリケーションワークロードが実行されているネットワーク上の場所です。サイトは リンク で結合します。
Site リソースは、サイト設定の基礎となります。これは、namespace 内のすべての Skupper リソースの親です。namespace ごとにアクティブな Site リソースは 1 つだけ存在できます。
例
最小限のサイト:
apiVersion: skupper.io/v2alpha1 kind: Site metadata: name: east namespace: hello-world-east
apiVersion: skupper.io/v2alpha1
kind: Site
metadata:
name: east
namespace: hello-world-east
リンクを受け入れるように設定されたサイト:
apiVersion: skupper.io/v2alpha1 kind: Site metadata: name: west namespace: hello-world-west spec: linkAccess: default
apiVersion: skupper.io/v2alpha1
kind: Site
metadata:
name: west
namespace: hello-world-west
spec:
linkAccess: default
name 型:文字列
リソースの名前。
Kubernetes object names も参照してください。
namespace 型:文字列
リソースの namespace。
プラットフォームの概念、Kubernetes namespaces、システムの namespaces も参照してください。
linkAccess 型: 文字列
リモートサイトからのリンクの外部アクセスを設定します。
サイトとリンクは、アプリケーションネットワークの作成の基礎となります。単純な 2 サイトネットワークでは、少なくとも 1 つのサイトでリンクアクセスが有効になっている必要があります。
ha 型: ブール値
サイトを高可用性 (HA) 用に設定します。HA サイトには 2 つのアクティブルーターがあります。
Skupper ルーターはステートレスであり、障害発生後に再起動することに注意してください。これにより、すでに高可用性レベルが提供されます。HA を有効にすると、再起動によって発生するダウンタイムがさらに短縮されます。
- Default
- False Updatable:: True。高可用性 も参照してください
defaultIssuer 型: 文字列
トークンからの証明書の生成に使用される署名 CA を含む Kubernetes シークレットの名前。シークレットが指定されていない場合は生成されます。
特定の発行者が設定されていない場合、この発行者は AccessGrant および RouterAccess によって使用されます。
- Default
- skupper-site-ca
- Updatable
- True: ルーター TLS、Kubernetes TLS secrets も参照してください。
edge 型: ブール値
サイトをエッジモードで動作するように設定します。エッジサイトではリモートサイトからのリンクを使用できません。
エッジモードを使用すると、ネットワークを多数のサイトに拡張できます。ただし、16 サイト以下のネットワークの場合、メリットはほとんどありません。
現在、エッジサイトでは HA を有効にできません。
- デフォルト
- false。大規模ネットワーク も参照してください。
serviceAccount 型:文字列
Skupper ルーターを実行する Kubernetes サービスアカウントの名前。サービスアカウントが指定されていない場合は、サービスアカウントが生成されます。
- デフォルト
- Generated
Kubernetes service accounts も参照してください。
settings 型: オブジェクト
追加設定を含むマップ。各マップエントリーには、文字列名と文字列値があります。
一般的に、設定をデフォルト値から変更しないことを推奨します。
-
routerDataConnections
: ルーターが他のルーターにリンクするときに使用するデータ接続の数を設定します。+ デフォルト: ルーターワーカースレッドの数に基づいて計算されます。最小値は 2 です。 -
routerLogging
: ルーターのログレベルを設定します。+ デフォルト:info
。選択肢:info
、warning
、error
。
リソース設定 も参照してください。
status 型: 文字列
リソースの現在の状態。
-
Pending
: リソースは処理中です。 -
Error
: リソースの処理に失敗しました。詳細は、message
を参照してください。 -
Ready
: リソースを使用する準備ができました。
リソースステータス も参照してください。
message 型: 文字列
人間が判読できるステータスメッセージ。エラーメッセージはここで報告されます。
リソースステータス も参照してください。
conditions 型: 配列
リソースの現在の状態を記述する名前付き条件のセット。
-
Configured
: このリソースの出力リソースが作成されました。 -
Running
: 少なくとも 1 つのルーター Pod が実行中です。 -
Resolved
: リンクアクセス用のホスト名または IP アドレスが利用可能です。 -
Ready
: サイトは使用できる状態です。その他の条件は true です。
リソースステータス、Kubernetes conditions も参照してください。
defaultIssuer 型: 文字列
アクティブなデフォルトの署名 CA を含む Kubernetes シークレットの名前。
ルーター TLS、Kubernetes TLS secrets も参照してください。
endpoints 型: array
接続エンドポイントの配列。各項目には、名前、ホスト、ポート、およびグループが含まれます。
これには、リンクアクセス用の接続エンドポイントが含まれます。
20.1.2.2. リンクリソース
sitesInNetwork 型:整数
。ネットワーク概念 も参照してください。
リンクは サイト 間の通信チャネルです。リンクは、アプリケーションの接続とリクエストを伝送します。リンクされたサイトの集合により、ネットワークが構成されます。
リンクリソースは、リモートサイトへの相互 TLS 接続を確立するためのリモート接続エンドポイントと TLS 認証情報を指定します。アクティブリンクを作成するには、まずリモートサイトで リンクアクセス を有効にする必要があります。リンクアクセスは、リンクを受け入れるための外部アクセスポイントを提供します。
リンクは通常は直接作成されません。代わりに、アクセストークン を使用してリンクを取得できます。
name 型:文字列
リソースの名前。
Kubernetes object names も参照してください。
namespace 型:文字列
リソースの namespace。
プラットフォームの概念、Kubernetes namespaces、システムの namespaces も参照してください。
endpoints 型: array
接続エンドポイントの配列。各項目には、名前、ホスト、ポート、およびグループが含まれます。
cost 型:整数
リンク経由でトラフィックを送信するための設定されたルーティングコスト。
- デフォルト
- 1 負荷分散 も参照してください。
tlsCredentials 型: 文字列
相互 TLS ルーター間通信に使用される証明書バンドルの名前。バンドルには、クライアント証明書とキー、および信頼されたサーバー証明書 (通常は CA) が含まれています。
Kubernetes では、値は現在の namespace 内のシークレットの名前です。
Docker、Podman、Linux の場合、値は現在の namespace の input/certs/
の配下にあるディレクトリーの名前です。
ルーター TLS、Kubernetes TLS secrets、System TLS 認証情報 も参照してください。
settings 型: オブジェクト
追加設定を含むマップ。各マップエントリーには、文字列名と文字列値があります。
一般的に、設定をデフォルト値から変更しないことを推奨します。
リソース設定 も参照してください。
status 型: 文字列
リソースの現在の状態。
-
Pending
: リソースは処理中です。 -
Error
: リソースの処理に失敗しました。詳細は、message
を参照してください。 -
Ready
: リソースを使用する準備ができました。
リソースステータス も参照してください。
message 型: 文字列
人間が判読できるステータスメッセージ。エラーメッセージはここで報告されます。
リソースステータス も参照してください。
remoteSiteId 型: 文字列
リンク先のサイトの一意の ID。
remoteSiteName 型: 文字列
リンク先のサイトの名前。
conditions 型: 配列
リソースの現在の状態を記述する名前付き条件のセット。
-
configured
: リンク設定がルーターに適用されました。 -
Operational
: リモートサイトへのリンクがアクティブです。 -
Ready
: リンクを使用する準備ができました。その他の条件は true です。
リソースステータス、Kubernetes conditions も参照してください。
20.1.2.3. リスナーリソース
リスナーは、ローカル接続エンドポイントをリモート サイト の コネクター にバインドします。リスナーおよびコネクターはルーティングキーによって照合されます。
リスナーリソースは、ローカルクライアントからの接続を受け入れるためのホストとポートを指定します。マルチポートサービスを公開するには、ホスト値が同じ複数のリスナーを作成します。
例
サイト East の Hello World バックエンドサービスのサイト West のリスナー:
apiVersion: skupper.io/v2alpha1 kind: Listener metadata: name: backend namespace: hello-world-west spec: routingKey: backend host: backend port: 8080
apiVersion: skupper.io/v2alpha1
kind: Listener
metadata:
name: backend
namespace: hello-world-west
spec:
routingKey: backend
host: backend
port: 8080
name 型:文字列
リソースの名前。
Kubernetes object names も参照してください。
namespace 型:文字列
リソースの namespace。
プラットフォームの概念、Kubernetes namespaces、システムの namespaces も参照してください。
routingKey 型: 文字列
リスナーからコネクターへのトラフィックをルーティングするために使用される識別子。リモートサイトのサービスに接続できるようにするには、ローカルリスナーとリモートコネクターのルーティングキーが一致している必要があります。
- Updatable
- True。ルーティングキーの概念 も参照してください。
host 型: 文字列
ローカルリスナーのホスト名または IP アドレス。このサイトのクライアントは、リスナーホストとポートを使用してリモートサービスへの接続を確立します。
- Updatable
- True
port 型: 整数
ローカルリスナーのポート。このサイトのクライアントは、リスナーホストとポートを使用してリモートサービスへの接続を確立します。
- Updatable
- True
exposePodsByName 型: ブール値
true の場合、各 Pod を個別のサービスとして公開します。
- デフォルト
- False。個別の Pod サービス も参照してください。
tlsCredentials 型: 文字列
セキュアなクライアント/ルーター間の通信に使用される TLS 証明書のバンドルの名前。バンドルにはサーバー証明書およびキーが含まれます。必要に応じて、相互 TLS 用の信頼できるクライアント証明書 (通常は CA) が含まれます。
Kubernetes では、値は現在の namespace 内のシークレットの名前です。Docker、Podman、Linux の場合、値は現在の namespace の input/certs/
の配下にあるディレクトリーの名前です。
アプリケーション TLS、Kubernetes TLS secrets、システム TLS 認証情報 も参照してください。
settings 型: オブジェクト
追加設定を含むマップ。各マップエントリーには、文字列名と文字列値があります。
一般的に、設定をデフォルト値から変更しないことを推奨します。
-
observer
: トラフィックメトリクスの生成に使用するプロトコルオブザーバーを設定します。+ デフォルト:auto
。選択肢:auto
、none
、http1
、http2
。
リソース設定 も参照してください。
status 型: 文字列
リソースの現在の状態。
-
Pending
: リソースは処理中です。 -
Error
: リソースの処理に失敗しました。詳細は、message
を参照してください。 -
Ready
: リソースを使用する準備ができました。
リソースステータス も参照してください。
message 型: 文字列
人間が判読できるステータスメッセージ。エラーメッセージはここで報告されます。
リソースステータス も参照してください。
hasMatchingConnector 型: ブール値
ルーティングキーが一致するコネクターが少なくとも 1 つある場合 (通常はリモートサイト内)、True になります。
- デフォルト
- false。ルーティングキーの概念 も参照してください。
conditions 型: 配列
リソースの現在の状態を記述する名前付き条件のセット。
-
configured
: リスナー設定がルーターに適用されました。 -
Matched
: このリスナーに対応するコネクターが少なくとも 1 つあります。 -
Ready
: リスナーを使用する準備ができました。その他の条件は true です。
リソースステータス、Kubernetes conditions も参照してください。
20.1.2.4. コネクターリソース
コネクターは、ローカルのワークロードをリモート サイト の リスナー にバインドします。リスナーおよびコネクターはルーティングキーによって照合されます。
Kubernetes では、コネクターリソースにはワークロード Pod を指定するためのセレクターとポートがあります。
Docker、Podman、Linux では、コネクターリソースにはローカルサーバーを指定するためのホストとポートがあります。必要に応じて、Kubernetes はホストとポートも使用できます。
例
Hello World バックエンドサービス用のサイト East のコネクター:
apiVersion: skupper.io/v2alpha1 kind: Connector metadata: name: backend namespace: hello-world-east spec: routingKey: backend selector: app=backend port: 8080
apiVersion: skupper.io/v2alpha1
kind: Connector
metadata:
name: backend
namespace: hello-world-east
spec:
routingKey: backend
selector: app=backend
port: 8080
name 型:文字列
リソースの名前。
Kubernetes object names も参照してください。
namespace 型:文字列
リソースの namespace。
プラットフォームの概念、Kubernetes namespaces、システムの namespaces も参照してください。
routingKey 型: 文字列
リスナーからコネクターへのトラフィックをルーティングするために使用される識別子。ローカルワークロードをリモートサイトに公開するには、リモートリスナーとローカルコネクターのルーティングキーが一致している必要があります。
- Updatable
- True。ルーティングキーの概念 も参照してください。
port 型: 整数
接続するターゲットサーバーのポート。
- Updatable
- True
selector 型: 文字列
ターゲットサーバー Pod を指定するための Kubernetes ラベルセレクター。<label-name>=<label-value>
構文を使用します。
Kubernetes では、selector
または host
のいずれかが必要です。
- Updatable
- True。Kubernetes label selectors も参照してください。
host 型: 文字列
サーバーのホスト名または IP アドレス。これは、セレクター
の代わりにターゲットサーバーを指定するものです。
Kubernetes では、selector
または host
のいずれかが必要です。
Docker、Podman、または Linux では、ホスト
が必要です。
- Updatable
- True
includeNotReadyPods 型: ブール値
true の場合、NotReady
状態のサーバー Pod を含めます。
- デフォルト
- False
exposePodsByName 型: ブール値
true の場合、各 Pod を個別のサービスとして公開します。
- デフォルト
- False。個別の Pod サービス も参照してください。
tlsCredentials 型: 文字列
ルーターとサーバー間のセキュアな通信に使用される TLS 証明書のバンドルの名前。バンドルには、信頼できるサーバー証明書 (通常は CA) が含まれています。必要に応じて、相互 TLS 用のクライアント証明書とキーが含まれます。
Kubernetes では、値は現在の namespace 内のシークレットの名前です。Docker、Podman、Linux の場合、値は現在の namespace の input/certs/
の配下にあるディレクトリーの名前です。
アプリケーション TLS、Kubernetes TLS secrets、システム TLS 認証情報 も参照してください。
useClientCert 型: ブール値
相互 TLS を有効にするには、接続時にクライアント証明書を送信します。
- デフォルト
- False。アプリケーション TLS も参照してください。
verifyHostname 型: ブール値
true の場合、接続先のサーバーのホスト名がサーバーの証明書のホスト名と一致する必要があります。
- デフォルト
- False。アプリケーション TLS も参照してください。
settings 型: オブジェクト
追加設定を含むマップ。各マップエントリーには、文字列名と文字列値があります。
一般的に、設定をデフォルト値から変更しないことを推奨します。
リソース設定 も参照してください。
status 型: 文字列
リソースの現在の状態。
-
Pending
: リソースは処理中です。 -
Error
: リソースの処理に失敗しました。詳細は、message
を参照してください。 -
Ready
: リソースを使用する準備ができました。
リソースステータス も参照してください。
message 型: 文字列
人間が判読できるステータスメッセージ。エラーメッセージはここで報告されます。
リソースステータス も参照してください。
hasMatchingListener 型: ブール値
ルーティングキーが一致するリスナーが少なくとも 1 つある場合 (通常はリモートサイト内)、True になります。
- デフォルト
- false。ルーティングキーの概念 も参照してください。
conditions 型: 配列
リソースの現在の状態を記述する名前付き条件のセット。
-
configured
: コネクター設定がルーターに適用されました。 -
Matched
: このコネクターに対応するリスナーが少なくとも 1 つあります。 -
Ready
: コネクターを使用する準備ができました。その他の条件は true です。
20.1.2.5. Site リソース
selectedPods 型: array
サイトとは、アプリケーションワークロードが実行されているネットワーク上の場所です。サイトは リンク で結合します。
Site リソースは、サイト設定の基礎となります。これは、namespace 内のすべての Skupper リソースの親です。namespace ごとにアクティブな Site リソースは 1 つだけ存在できます。
例
最小限のサイト:
apiVersion: skupper.io/v2alpha1 kind: Site metadata: name: east namespace: hello-world-east
apiVersion: skupper.io/v2alpha1
kind: Site
metadata:
name: east
namespace: hello-world-east
リンクを受け入れるように設定されたサイト:
apiVersion: skupper.io/v2alpha1 kind: Site metadata: name: west namespace: hello-world-west spec: linkAccess: default
apiVersion: skupper.io/v2alpha1
kind: Site
metadata:
name: west
namespace: hello-world-west
spec:
linkAccess: default
name 型:文字列
リソースの名前。
Kubernetes object names も参照してください。
namespace 型:文字列
リソースの namespace。
プラットフォームの概念、Kubernetes namespaces、システムの namespaces も参照してください。
linkAccess 型: 文字列
リモートサイトからのリンクの外部アクセスを設定します。
サイトとリンクは、アプリケーションネットワークの作成の基礎となります。単純な 2 サイトネットワークでは、少なくとも 1 つのサイトでリンクアクセスが有効になっている必要があります。
ha 型: ブール値
サイトを高可用性 (HA) 用に設定します。HA サイトには 2 つのアクティブルーターがあります。
Skupper ルーターはステートレスであり、障害発生後に再起動することに注意してください。これにより、すでに高可用性レベルが提供されます。HA を有効にすると、再起動によって発生するダウンタイムがさらに短縮されます。
- デフォルト
- False Updatable:: True。高可用性 も参照してください
defaultIssuer 型: 文字列
トークンからの証明書の生成に使用される署名 CA を含む Kubernetes シークレットの名前。シークレットが指定されていない場合は生成されます。
特定の発行者が設定されていない場合、この発行者は AccessGrant および RouterAccess によって使用されます。
- デフォルト
- skupper-site-ca
- Updatable
- True: ルーター TLS、Kubernetes TLS secrets も参照してください。
edge 型: ブール値
サイトをエッジモードで動作するように設定します。エッジサイトではリモートサイトからのリンクを使用できません。
エッジモードを使用すると、ネットワークを多数のサイトに拡張できます。ただし、16 サイト以下のネットワークの場合、メリットはほとんどありません。
現在、エッジサイトでは HA を有効にできません。
- デフォルト
- false。大規模ネットワーク も参照してください。
serviceAccount 型:文字列
Skupper ルーターを実行する Kubernetes サービスアカウントの名前。サービスアカウントが指定されていない場合は、サービスアカウントが生成されます。
- デフォルト
- Generated
Kubernetes service accounts も参照してください。
settings 型: オブジェクト
追加設定を含むマップ。各マップエントリーには、文字列名と文字列値があります。
一般的に、設定をデフォルト値から変更しないことを推奨します。
-
routerDataConnections
: ルーターが他のルーターにリンクするときに使用するデータ接続の数を設定します。+ デフォルト: ルーターワーカースレッドの数に基づいて計算されます。最小値は 2 です。 -
routerLogging
: ルーターのログレベルを設定します。+ デフォルト:info
。選択肢:info
、warning
、error
。
リソース設定 も参照してください。
status 型: 文字列
リソースの現在の状態。
-
Pending
: リソースは処理中です。 -
Error
: リソースの処理に失敗しました。詳細は、message
を参照してください。 -
Ready
: リソースを使用する準備ができました。
リソースステータス も参照してください。
message 型: 文字列
人間が判読できるステータスメッセージ。エラーメッセージはここで報告されます。
リソースステータス も参照してください。
conditions 型: 配列
リソースの現在の状態を記述する名前付き条件のセット。
-
Configured
: このリソースの出力リソースが作成されました。 -
Running
: 少なくとも 1 つのルーター Pod が実行中です。 -
Resolved
: リンクアクセス用のホスト名または IP アドレスが利用可能です。 -
Ready
: サイトは使用できる状態です。その他の条件は true です。
リソースステータス、Kubernetes conditions も参照してください。
defaultIssuer 型: 文字列
アクティブなデフォルトの署名 CA を含む Kubernetes シークレットの名前。
ルーター TLS、Kubernetes TLS secrets も参照してください。
endpoints 型: array
接続エンドポイントの配列。各項目には、名前、ホスト、ポート、およびグループが含まれます。
これには、リンクアクセス用の接続エンドポイントが含まれます。
20.1.2.6. リンクリソース
sitesInNetwork 型:整数
。ネットワーク概念 も参照してください。
リンクは サイト 間の通信チャネルです。リンクは、アプリケーションの接続とリクエストを伝送します。リンクされたサイトの集合により、ネットワークが構成されます。
リンクリソースは、リモートサイトへの相互 TLS 接続を確立するためのリモート接続エンドポイントと TLS 認証情報を指定します。アクティブリンクを作成するには、まずリモートサイトで リンクアクセス を有効にする必要があります。リンクアクセスは、リンクを受け入れるための外部アクセスポイントを提供します。
リンクは通常は直接作成されません。代わりに、アクセストークン を使用してリンクを取得できます。
name 型:文字列
リソースの名前。
Kubernetes object names も参照してください。
namespace 型:文字列
リソースの namespace。
プラットフォームの概念、Kubernetes namespaces、システムの namespaces も参照してください。
endpoints 型: array
接続エンドポイントの配列。各項目には、名前、ホスト、ポート、およびグループが含まれます。
cost 型:整数
リンク経由でトラフィックを送信するための設定されたルーティングコスト。
- デフォルト
- 1 負荷分散 も参照してください。
tlsCredentials 型: 文字列
相互 TLS ルーター間通信に使用される証明書バンドルの名前。バンドルには、クライアント証明書とキー、および信頼されたサーバー証明書 (通常は CA) が含まれています。
Kubernetes では、値は現在の namespace 内のシークレットの名前です。
Docker、Podman、Linux の場合、値は現在の namespace の input/certs/
の配下にあるディレクトリーの名前です。
ルーター TLS、Kubernetes TLS secrets、System TLS 認証情報 も参照してください。
settings 型: オブジェクト
追加設定を含むマップ。各マップエントリーには、文字列名と文字列値があります。
一般的に、設定をデフォルト値から変更しないことを推奨します。
リソース設定 も参照してください。
status 型: 文字列
リソースの現在の状態。
-
Pending
: リソースは処理中です。 -
Error
: リソースの処理に失敗しました。詳細は、message
を参照してください。 -
Ready
: リソースを使用する準備ができました。
リソースステータス も参照してください。
message 型: 文字列
人間が判読できるステータスメッセージ。エラーメッセージはここで報告されます。
リソースステータス も参照してください。
remoteSiteId 型: 文字列
リンク先のサイトの一意の ID。
remoteSiteName 型: 文字列
リンク先のサイトの名前。
conditions 型: 配列
リソースの現在の状態を記述する名前付き条件のセット。
-
configured
: リンク設定がルーターに適用されました。 -
Operational
: リモートサイトへのリンクがアクティブです。 -
Ready
: リンクを使用する準備ができました。その他の条件は true です。
リソースステータス、Kubernetes conditions も参照してください。
20.1.2.7. AccessGrant リソース
ローカルサイトへのリンクにアクセストークンを利用するためのパーミッション。リモートサイトは、許可 URL とシークレットコードを含むトークンを使用して、一定の有効期限内かつ使用回数が制限された範囲で、許可の認証局 (CA) によって署名された証明書を取得できます。
リソースステータスの code
、url
、および ca
プロパティーは、許可からアクセストークンを生成するために使用されます。
name 型:文字列
リソースの名前。
Kubernetes object names も参照してください。
namespace 型:文字列
リソースの namespace。
プラットフォームの概念、Kubernetes namespaces、システムの namespaces も参照してください。
redemptionsAllowed 型: 整数
このグラントのアクセストークンを使用できる回数。
- デフォルト
- 1
expirationWindow 型: 文字列 (期間)
このグラントのアクセストークンを使用できる期間。
- デフォルト
- 15m
code 型: 文字列
引き換え用に送信されたアクセストークンを認証するために使用するシークレットコード。
設定されていない場合は、値が生成され、code
ステータスプロパティーに配置されます。
issuer 型: 文字列
このグラントのトークンを利用するときに証明書を生成するために使用される Kubernetes シークレットの名前。
設定されていない場合は、Site リソースの defaultIssuer
が使用されます。
ルーター TLS、Kubernetes TLS secrets も参照してください。
settings 型: オブジェクト
追加設定を含むマップ。各マップエントリーには、文字列名と文字列値があります。
一般的に、設定をデフォルト値から変更しないことを推奨します。
リソース設定 も参照してください。
status 型: 文字列
リソースの現在の状態。
-
Pending
: リソースは処理中です。 -
Error
: リソースの処理に失敗しました。詳細は、message
を参照してください。 -
Ready
: リソースを使用する準備ができました。
リソースステータス も参照してください。
message 型: 文字列
人間が判読できるステータスメッセージ。エラーメッセージはここで報告されます。
リソースステータス も参照してください。
redemptions 型: 整数
このグラントのトークンが再考慮された回数。
expirationTime 型: 文字列 (日付)
グラントの有効期限が切れた時点。
url 型: 文字列
このグラントの token-redemption サービスの URL。
ca 型: 文字列
このグラントの token-redemption サービスの信頼できるサーバー証明書。
code 型: 文字列
引き換え用に送信されたアクセストークンを認証するために使用するシークレットコード。
- デフォルト
- Generated
conditions 型: 配列
リソースの現在の状態を記述する名前付き条件のセット。
-
processed
: コントローラーはこのグラントを受け入れました。 -
Resolved
: grant サービスは、このグラントのトークンを処理できます。 -
Ready
: グラントを使用する準備ができました。その他の条件は true です。
リソースステータス、Kubernetes conditions も参照してください。
20.1.2.8. AccessToken リソース
リンクを作成するために使用される有効期間が短い認証情報。アクセストークンには、対応するアクセス許可の URL およびシークレットコードが含まれます。
name 型:文字列
リソースの名前。
Kubernetes object names も参照してください。
namespace 型:文字列
リソースの namespace。
プラットフォームの概念、Kubernetes namespaces、システムの namespaces も参照してください。
url 型: 文字列
リモートサイトにあるグラントサービスの URL。
code 型: 文字列
引き換え用に送信されたときにトークンを認証するために使用されるシークレットコード。
ca 型: 文字列
リモートサイトのグラントサービスの信頼済みサーバー証明書。
linkCost 型: 整数
リンクの作成時に使用するリンクコスト。
- デフォルト
- 1 負荷分散 も参照してください。
settings 型: オブジェクト
追加設定を含むマップ。各マップエントリーには、文字列名と文字列値があります。
一般的に、設定をデフォルト値から変更しないことを推奨します。
リソース設定 も参照してください。
redeemed 型: ブール値
トークンがすでに引き換えられた場合は True です。トークンは一度使用すると、再度使用できません。
- デフォルト
- False
status 型: 文字列
リソースの現在の状態。
-
Pending
: リソースは処理中です。 -
Error
: リソースの処理に失敗しました。詳細は、message
を参照してください。 -
Ready
: リソースを使用する準備ができました。
リソースステータス も参照してください。
message 型: 文字列
人間が判読できるステータスメッセージ。エラーメッセージはここで報告されます。
リソースステータス も参照してください。
conditions 型: 配列
リソースの現在の状態を記述する名前付き条件のセット。
-
Redeemed
: トークンがリンクと交換されました。
リソースステータス、Kubernetes conditions も参照してください。
20.1.2.9. リスナーリソース
リスナーは、ローカル接続エンドポイントをリモート サイト の コネクター にバインドします。リスナーおよびコネクターはルーティングキーによって照合されます。
リスナーリソースは、ローカルクライアントからの接続を受け入れるためのホストとポートを指定します。マルチポートサービスを公開するには、ホスト値が同じ複数のリスナーを作成します。
例
サイト East の Hello World バックエンドサービスのサイト West のリスナー:
apiVersion: skupper.io/v2alpha1 kind: Listener metadata: name: backend namespace: hello-world-west spec: routingKey: backend host: backend port: 8080
apiVersion: skupper.io/v2alpha1
kind: Listener
metadata:
name: backend
namespace: hello-world-west
spec:
routingKey: backend
host: backend
port: 8080
name 型:文字列
リソースの名前。
Kubernetes object names も参照してください。
namespace 型:文字列
リソースの namespace。
プラットフォームの概念、Kubernetes namespaces、システムの namespaces も参照してください。
routingKey 型: 文字列
リスナーからコネクターへのトラフィックをルーティングするために使用される識別子。リモートサイトのサービスに接続できるようにするには、ローカルリスナーとリモートコネクターのルーティングキーが一致している必要があります。
- Updatable
- True。ルーティングキーの概念 も参照してください。
host 型: 文字列
ローカルリスナーのホスト名または IP アドレス。このサイトのクライアントは、リスナーホストとポートを使用してリモートサービスへの接続を確立します。
- Updatable
- True
port 型: 整数
ローカルリスナーのポート。このサイトのクライアントは、リスナーホストとポートを使用してリモートサービスへの接続を確立します。
- Updatable
- True
exposePodsByName 型: ブール値
true の場合、各 Pod を個別のサービスとして公開します。
- デフォルト
- False。個別の Pod サービス も参照してください。
tlsCredentials 型: 文字列
セキュアなクライアント/ルーター間の通信に使用される TLS 証明書のバンドルの名前。バンドルにはサーバー証明書およびキーが含まれます。必要に応じて、相互 TLS 用の信頼できるクライアント証明書 (通常は CA) が含まれます。
Kubernetes では、値は現在の namespace 内のシークレットの名前です。Docker、Podman、Linux の場合、値は現在の namespace の input/certs/
の配下にあるディレクトリーの名前です。
アプリケーション TLS、Kubernetes TLS secrets、システム TLS 認証情報 も参照してください。
settings 型: オブジェクト
追加設定を含むマップ。各マップエントリーには、文字列名と文字列値があります。
一般的に、設定をデフォルト値から変更しないことを推奨します。
-
observer
: トラフィックメトリクスの生成に使用するプロトコルオブザーバーを設定します。+ デフォルト:auto
。選択肢:auto
、none
、http1
、http2
。
リソース設定 も参照してください。
status 型: 文字列
リソースの現在の状態。
-
Pending
: リソースは処理中です。 -
Error
: リソースの処理に失敗しました。詳細は、message
を参照してください。 -
Ready
: リソースを使用する準備ができました。
リソースステータス も参照してください。
message 型: 文字列
人間が判読できるステータスメッセージ。エラーメッセージはここで報告されます。
リソースステータス も参照してください。
hasMatchingConnector 型: ブール値
ルーティングキーが一致するコネクターが少なくとも 1 つある場合 (通常はリモートサイト内)、True になります。
- デフォルト
- false。ルーティングキーの概念 も参照してください。
conditions 型: 配列
リソースの現在の状態を記述する名前付き条件のセット。
-
configured
: リスナー設定がルーターに適用されました。 -
Matched
: このリスナーに対応するコネクターが少なくとも 1 つあります。 -
Ready
: リスナーを使用する準備ができました。その他の条件は true です。
リソースステータス、Kubernetes conditions も参照してください。
20.1.2.10. コネクターリソース
コネクターは、ローカルのワークロードをリモート サイト の リスナー にバインドします。リスナーおよびコネクターはルーティングキーによって照合されます。
Kubernetes では、コネクターリソースにはワークロード Pod を指定するためのセレクターとポートがあります。
Docker、Podman、Linux では、コネクターリソースにはローカルサーバーを指定するためのホストとポートがあります。必要に応じて、Kubernetes はホストとポートも使用できます。
例
Hello World バックエンドサービス用のサイト East のコネクター:
apiVersion: skupper.io/v2alpha1 kind: Connector metadata: name: backend namespace: hello-world-east spec: routingKey: backend selector: app=backend port: 8080
apiVersion: skupper.io/v2alpha1
kind: Connector
metadata:
name: backend
namespace: hello-world-east
spec:
routingKey: backend
selector: app=backend
port: 8080
name 型:文字列
リソースの名前。
Kubernetes object names も参照してください。
namespace 型:文字列
リソースの namespace。
プラットフォームの概念、Kubernetes namespaces、システムの namespaces も参照してください。
routingKey 型: 文字列
リスナーからコネクターへのトラフィックをルーティングするために使用される識別子。ローカルワークロードをリモートサイトに公開するには、リモートリスナーとローカルコネクターのルーティングキーが一致している必要があります。
- Updatable
- True。ルーティングキーの概念 も参照してください。
port 型: 整数
接続するターゲットサーバーのポート。
- Updatable
- True
selector 型: 文字列
ターゲットサーバー Pod を指定するための Kubernetes ラベルセレクター。<label-name>=<label-value>
構文を使用します。
Kubernetes では、selector
または host
のいずれかが必要です。
- Updatable
- True。Kubernetes label selectors も参照してください。
host 型: 文字列
サーバーのホスト名または IP アドレス。これは、セレクター
の代わりにターゲットサーバーを指定するものです。
Kubernetes では、selector
または host
のいずれかが必要です。
Docker、Podman、または Linux では、ホスト
が必要です。
- Updatable
- True
includeNotReadyPods 型: ブール値
true の場合、NotReady
状態のサーバー Pod を含めます。
- デフォルト
- False
exposePodsByName 型: ブール値
true の場合、各 Pod を個別のサービスとして公開します。
- デフォルト
- False。個別の Pod サービス も参照してください。
tlsCredentials 型: 文字列
ルーターとサーバー間のセキュアな通信に使用される TLS 証明書のバンドルの名前。バンドルには、信頼できるサーバー証明書 (通常は CA) が含まれています。必要に応じて、相互 TLS 用のクライアント証明書とキーが含まれます。
Kubernetes では、値は現在の namespace 内のシークレットの名前です。Docker、Podman、Linux の場合、値は現在の namespace の input/certs/
の配下にあるディレクトリーの名前です。
アプリケーション TLS、Kubernetes TLS secrets、システム TLS 認証情報 も参照してください。
useClientCert 型: ブール値
相互 TLS を有効にするには、接続時にクライアント証明書を送信します。
- デフォルト
- False。アプリケーション TLS も参照してください。
verifyHostname 型: ブール値
true の場合、接続先のサーバーのホスト名がサーバーの証明書のホスト名と一致する必要があります。
- デフォルト
- False。アプリケーション TLS も参照してください。
settings 型: オブジェクト
追加設定を含むマップ。各マップエントリーには、文字列名と文字列値があります。
一般的に、設定をデフォルト値から変更しないことを推奨します。
リソース設定 も参照してください。
status 型: 文字列
リソースの現在の状態。
-
Pending
: リソースは処理中です。 -
Error
: リソースの処理に失敗しました。詳細は、message
を参照してください。 -
Ready
: リソースを使用する準備ができました。
リソースステータス も参照してください。
message 型: 文字列
人間が判読できるステータスメッセージ。エラーメッセージはここで報告されます。
リソースステータス も参照してください。
hasMatchingListener 型: ブール値
ルーティングキーが一致するリスナーが少なくとも 1 つある場合 (通常はリモートサイト内)、True になります。
- デフォルト
- false。ルーティングキーの概念 も参照してください。
conditions 型: 配列
リソースの現在の状態を記述する名前付き条件のセット。
-
configured
: コネクター設定がルーターに適用されました。 -
Matched
: このコネクターに対応するリスナーが少なくとも 1 つあります。 -
Ready
: コネクターを使用する準備ができました。その他の条件は true です。
20.1.2.11. AttachedConnector リソース
selectedPods 型: array
ピア namespace のコネクター。
name 型:文字列
リソースの名前。
名前は、サイト namespace の関連付けられた AttachedConnectorBinding リソースと同じである必要があります。
Kubernetes object names も参照してください。
namespace 型:文字列
リソースの namespace。
プラットフォームの概念、Kubernetes namespaces、システムの namespaces も参照してください。
siteNamespace 型: 文字列
このコネクターを接続するサイトが定義されている namespace の名前。
port 型: 整数
接続するターゲットサーバーのポート。
- Updatable
- True
selector 型: 文字列
ターゲットサーバー Pod を指定するための Kubernetes ラベルセレクター。<label-name>=<label-value>
構文を使用します。
Kubernetes では、selector
または host
のいずれかが必要です。
- Updatable
- True。Kubernetes label selectors も参照してください。
includeNotReadyPods 型: ブール値
true の場合、NotReady
状態のサーバー Pod を含めます。
- デフォルト
- False
tlsCredentials 型: 文字列
ルーターとサーバー間のセキュアな通信に使用される TLS 証明書のバンドルの名前。バンドルには、信頼できるサーバー証明書 (通常は CA) が含まれています。必要に応じて、相互 TLS 用のクライアント証明書とキーが含まれます。
Kubernetes では、値は現在の namespace 内のシークレットの名前です。Docker、Podman、Linux の場合、値は現在の namespace の input/certs/
の配下にあるディレクトリーの名前です。
アプリケーション TLS、Kubernetes TLS secrets、システム TLS 認証情報 も参照してください。
settings 型: オブジェクト
追加設定を含むマップ。各マップエントリーには、文字列名と文字列値があります。
一般的に、設定をデフォルト値から変更しないことを推奨します。
リソース設定 も参照してください。
status 型: 文字列
リソースの現在の状態。
-
Pending
: リソースは処理中です。 -
Error
: リソースの処理に失敗しました。詳細は、message
を参照してください。 -
Ready
: リソースを使用する準備ができました。
リソースステータス も参照してください。
conditions 型: 配列
リソースの現在の状態を記述する名前付き条件のセット。
リソースステータス、Kubernetes conditions も参照してください。
20.1.2.12. AttachedConnectorBinding リソース
selectedPods 型: array
ピア namespace 内のアタッチされたコネクターへのバインディング。
name 型:文字列
リソースの名前。
名前は、コネクター namespace 内の関連付けられた AttachedConnector リソースの名前と同じである必要があります。
Kubernetes object names も参照してください。
namespace 型:文字列
リソースの namespace。
プラットフォームの概念、Kubernetes namespaces、システムの namespaces も参照してください。
connectorNamespace 型: 文字列
関連付けられている AttachedConnector が配置されている namespace の名前。
routingKey 型: 文字列
リスナーからコネクターへのトラフィックをルーティングするために使用される識別子。ローカルワークロードをリモートサイトに公開するには、リモートリスナーとローカルコネクターのルーティングキーが一致している必要があります。
- Updatable
- True。ルーティングキーの概念 も参照してください。
exposePodsByName 型: ブール値
true の場合、各 Pod を個別のサービスとして公開します。
- デフォルト
- False。個別の Pod サービス も参照してください。
settings 型: オブジェクト
追加設定を含むマップ。各マップエントリーには、文字列名と文字列値があります。
一般的に、設定をデフォルト値から変更しないことを推奨します。
リソース設定 も参照してください。
status 型: 文字列
リソースの現在の状態。
-
Pending
: リソースは処理中です。 -
Error
: リソースの処理に失敗しました。詳細は、message
を参照してください。 -
Ready
: リソースを使用する準備ができました。
リソースステータス も参照してください。
hasMatchingListener 型: ブール値
ルーティングキーが一致するリスナーが少なくとも 1 つある場合 (通常はリモートサイト内)、True になります。
- デフォルト
- false。ルーティングキーの概念 も参照してください。
conditions 型: 配列
リソースの現在の状態を記述する名前付き条件のセット。
リソースステータス、Kubernetes conditions も参照してください。
20.1.3. skupper コマンド
20.1.4. CLI Group: Site の操作
20.1.4.1. Site の使用
20.1.4.1.1. Site コマンド
skupper site [subcommand] [options]
skupper site [subcommand] [options]
フィールド | 値 |
---|---|
Platforms | Kubernetes、Docker、Podman、Linux |
コマンド | 説明 |
---|---|
サイトを作成します。 | |
サイト設定を変更します。 | |
サイトを削除します。 | |
サイトのステータスを表示します。 | |
Site リソースを生成します。 |
20.1.4.1.2. Site create コマンド
skupper site create <name> [options]
skupper site create <name> [options]
サイトを作成します。
フィールド | 値 |
---|---|
Platforms | Kubernetes、Docker、Podman、Linux |
Waits for | Ready |
例
Create a site skupper site create west Create a site that can accept links from remote sites skupper site create west --enable-link-access
# Create a site
$ skupper site create west
Waiting for status...
Site "west" is ready.
# Create a site that can accept links from remote sites
$ skupper site create west --enable-link-access
プライマリーオプション
<name> 必須
Skupper サイトに付ける任意の名前。この名前はコンソールと CLI 出力に表示されます。
Kubernetes object names も参照してください。
--enable-link-access frequently used
リモートサイトからのリンクへの外部アクセスを許可します。
サイトとリンクは、アプリケーションネットワークの作成の基礎となります。単純な 2 サイトネットワークでは、少なくとも 1 つのサイトでリンクアクセスが有効になっている必要があります。
--link-access-type
リモートサイトからのリンクの外部アクセスを設定します。
サイトとリンクは、アプリケーションネットワークの作成の基礎となります。単純な 2 サイトネットワークでは、少なくとも 1 つのサイトでリンクアクセスが有効になっている必要があります。
- デフォルト
- default
- Choices:: default
-
デフォルトのリンクアクセスを使用します。OpenShift では、デフォルトは
route
です。他の Kubernetes フレーバーの場合、デフォルトはloadbalancer
です。 - route
- OpenShift ルートを使用します。OpenShift のみ
- loadbalancer
- Kubernetes ロードバランサーを使用します。Kubernetes のみ。
- Platforms:: Kubernetes Updatable
- True。サイトリンク も参照してください。
--enable-ha
サイトを高可用性 (HA) 用に設定します。HA サイトには 2 つのアクティブルーターがあります。
Skupper ルーターはステートレスであり、障害発生後に再起動することに注意してください。これにより、すでに高可用性レベルが提供されます。HA を有効にすると、再起動によって発生するダウンタイムがさらに短縮されます。
- デフォルト
- False Platforms:: Kubernetes Updatable:: True。高可用性 も参照してください。
--timeout
指定された時間内に操作が完了しない場合はエラーが発生します。
- デフォルト
- 60s
- Platforms
- Kubernetes。Duration format も参照してください。
--wait
終了する前に指定されたステータスを待機します。
- デフォルト
- ready
- Choices:: none
- 待機しません。
- configured
- 設定が適用されるまで待ちます。
- ready
- リソースを使用する準備ができるまで待ちます。
- Platforms
- Kubernetes。Resource status も参照してください。
グローバルオプション
--context global
kubeconfig コンテキストを設定します。
- Platforms
- Kubernetes。Kubernetes kubeconfigs も参照してください。
--kubeconfig global
kubeconfig ファイルへのパスを設定します。
- Platforms
- Kubernetes。Kubernetes kubeconfigs も参照してください。
--namespace global
現在の namespace を設定します。
Kubernetes namespace、システム namespace も参照してください。
--platform global
Skupper プラットフォームを設定します。
- デフォルト
- kubernetes
- Choices:: kubernetes
- Kubernetes
- docker
- Docker
- podman
- Podman
- linux
- Linux
プラットフォームの概念 も参照してください。
--help global
ヘルプを表示して終了します。
エラー
A site resource already exists
namespace に対してサイトリソースがすでに定義されています。
20.1.4.1.3. site update コマンド
skupper site update [name] [options]
skupper site update [name] [options]
サイトの設定を変更します。
フィールド | 値 |
---|---|
Platforms | Kubernetes、Docker、Podman、Linux |
Waits for | Ready |
例
Update the current site to accept links skupper site update --enable-link-access Update multiple settings skupper site update --enable-link-access --enable-ha
# Update the current site to accept links
$ skupper site update --enable-link-access
Waiting for status...
Site "west" is ready.
# Update multiple settings
$ skupper site update --enable-link-access --enable-ha
プライマリーオプション
[name] 任意
Site リソースの名前。
指定されていない場合は、現在の namespace に関連付けられているサイトの名前になります。
Kubernetes object names も参照してください。
--enable-link-access frequently used
リモートサイトからのリンクへの外部アクセスを許可します。
サイトとリンクは、アプリケーションネットワークの作成の基礎となります。単純な 2 サイトネットワークでは、少なくとも 1 つのサイトでリンクアクセスが有効になっている必要があります。
--link-access-type
リモートサイトからのリンクの外部アクセスを設定します。
サイトとリンクは、アプリケーションネットワークの作成の基礎となります。単純な 2 サイトネットワークでは、少なくとも 1 つのサイトでリンクアクセスが有効になっている必要があります。
- デフォルト
- default
- Choices:: default
-
デフォルトのリンクアクセスを使用します。OpenShift では、デフォルトは
route
です。他の Kubernetes フレーバーの場合、デフォルトはloadbalancer
です。 - route
- OpenShift ルートを使用します。OpenShift のみ
- loadbalancer
- Kubernetes ロードバランサーを使用します。Kubernetes のみ。
- Platforms:: Kubernetes Updatable
- True。サイトリンク も参照してください。
--enable-ha
サイトを高可用性 (HA) 用に設定します。HA サイトには 2 つのアクティブルーターがあります。
Skupper ルーターはステートレスであり、障害発生後に再起動することに注意してください。これにより、すでに高可用性レベルが提供されます。HA を有効にすると、再起動によって発生するダウンタイムがさらに短縮されます。
- デフォルト
- False Platforms:: Kubernetes Updatable:: True。高可用性 も参照してください。
--timeout
指定された時間内に操作が完了しない場合はエラーが発生します。
- デフォルト
- 60s
- Platforms
- Kubernetes
--wait
終了する前に指定されたステータスを待機します。
- デフォルト
- ready
- Choices:: none
- Do not wait
- configured
- Configured
- ready
- Ready
- Platforms
- Kubernetes。Resource status も参照してください。
グローバルオプション
--context global
kubeconfig コンテキストを設定します。
- Platforms
- Kubernetes。Kubernetes kubeconfigs も参照してください。
--kubeconfig global
kubeconfig ファイルへのパスを設定します。
- Platforms
- Kubernetes。Kubernetes kubeconfigs も参照してください。
--namespace global
現在の namespace を設定します。
Kubernetes namespace、システム namespace も参照してください。
--platform global
Skupper プラットフォームを設定します。
- デフォルト
- kubernetes
- Choices:: kubernetes
- Kubernetes
- docker
- Docker
- podman
- Podman
- linux
- Linux
プラットフォームの概念 も参照してください。
--help global
ヘルプを表示して終了します。
エラー
No site resource exists
更新する既存の Skupper Site リソースはありません。
20.1.4.1.4. Site delete コマンド
skupper site delete [name] [options]
skupper site delete [name] [options]
サイトを削除します。
フィールド | 値 |
---|---|
Platforms | Kubernetes、Docker、Podman、Linux |
Waits for | Deletion |
例
Delete the current site skupper site delete Delete the current site and all of its associated Skupper resources skupper site delete --all
# Delete the current site
$ skupper site delete
Waiting for deletion...
Site "west" is deleted.
# Delete the current site and all of its associated Skupper resources
$ skupper site delete --all
プライマリーオプション
[name] 任意
Site リソースの名前。
指定されていない場合は、現在の namespace に関連付けられているサイトの名前になります。
Kubernetes object names も参照してください。
--all frequently used
Site リソースに加えて、現在の namespace 内のサイトに関連付けられているすべての Skupper リソースを削除します。
--timeout
指定された時間内に操作が完了しない場合はエラーが発生します。
- デフォルト
- 60s
- Platforms
- Kubernetes
--wait
終了する前に削除が完了するまで待機します。
- デフォルト
- true Platforms:: Kubernetes
グローバルオプション
--context global
kubeconfig コンテキストを設定します。
- Platforms
- Kubernetes。Kubernetes kubeconfigs も参照してください。
--kubeconfig global
kubeconfig ファイルへのパスを設定します。
- Platforms
- Kubernetes。Kubernetes kubeconfigs も参照してください。
--namespace global
現在の namespace を設定します。
Kubernetes namespace、システム namespace も参照してください。
--platform global
Skupper プラットフォームを設定します。
- デフォルト
- kubernetes
- Choices:: kubernetes
- Kubernetes
- docker
- Docker
- podman
- Podman
- linux
- Linux
プラットフォームの概念 も参照してください。
--help global
ヘルプを表示して終了します。
エラー
No site resource exists
削除する既存の Skupper Site リソースはありません。
20.1.4.1.5. Site status コマンド
skupper site status [name] [options]
skupper site status [name] [options]
サイトのステータスを表示します。
フィールド | 値 |
---|---|
Platforms | Kubernetes、Docker、Podman、Linux |
例
Show the status of the current site skupper site status
# Show the status of the current site
$ skupper site status
Name: west
Status: Ready
Message: -
プライマリーオプション
[name] 任意
Site リソースの名前。
指定されていない場合は、現在の namespace に関連付けられているサイトの名前になります。
Kubernetes object names も参照してください。
--timeout
指定された時間内に操作が完了しない場合はエラーが発生します。
- デフォルト
- 60s
- Platforms
- Kubernetes。Duration format も参照してください。
--output
体系化された出力形式で、コンソールにステータスを出力します。
- 選択肢
- JSON:: Produce JSON 出力
- yaml
- YAML 出力の生成
グローバルオプション
--context global
kubeconfig コンテキストを設定します。
- Platforms
- Kubernetes。Kubernetes kubeconfigs も参照してください。
--kubeconfig global
kubeconfig ファイルへのパスを設定します。
- Platforms
- Kubernetes。Kubernetes kubeconfigs も参照してください。
--namespace global
現在の namespace を設定します。
Kubernetes namespace、システム namespace も参照してください。
--platform global
Skupper プラットフォームを設定します。
- デフォルト
- kubernetes
- Choices:: kubernetes
- Kubernetes
- docker
- Docker
- podman
- Podman
- linux
- Linux
プラットフォームの概念 も参照してください。
--help global
ヘルプを表示して終了します。
20.1.4.1.6. Site generate コマンド
skupper site generate <name> [options]
skupper site generate <name> [options]
Site リソースを生成します。
フィールド | 値 |
---|---|
Platforms | Kubernetes、Docker、Podman、Linux |
例
Generate a Site resource and print it to the console skupper site generate west --enable-link-access Generate a Site resource and direct the output to a file skupper site generate east > east.yaml
# Generate a Site resource and print it to the console
$ skupper site generate west --enable-link-access
apiVersion: skupper.io/v2alpha1
kind: Site
metadata:
name: west
spec:
linkAccess: default
# Generate a Site resource and direct the output to a file
$ skupper site generate east > east.yaml
プライマリーオプション
<name> 必須
生成されるリソースの名前。
Kubernetes object names も参照してください。
--enable-link-access frequently used
リモートサイトからのリンクへの外部アクセスを許可します。
サイトとリンクは、アプリケーションネットワークの作成の基礎となります。単純な 2 サイトネットワークでは、少なくとも 1 つのサイトでリンクアクセスが有効になっている必要があります。
--output
出力形式を選択します。
- デフォルト
- yaml
- Choices:: json
- JSON 出力の生成
- yaml
- YAML 出力の生成
--link-access-type
リモートサイトからのリンクの外部アクセスを設定します。
サイトとリンクは、アプリケーションネットワークの作成の基礎となります。単純な 2 サイトネットワークでは、少なくとも 1 つのサイトでリンクアクセスが有効になっている必要があります。
- デフォルト
- default
- Choices:: default
-
デフォルトのリンクアクセスを使用します。OpenShift では、デフォルトは
route
です。他の Kubernetes フレーバーの場合、デフォルトはloadbalancer
です。 - route
- OpenShift ルートを使用します。OpenShift のみ
- loadbalancer
- Kubernetes ロードバランサーを使用します。Kubernetes のみ。
- Platforms:: Kubernetes Updatable
- True。サイトリンク も参照してください。
--enable-ha
サイトを高可用性 (HA) 用に設定します。HA サイトには 2 つのアクティブルーターがあります。
Skupper ルーターはステートレスであり、障害発生後に再起動することに注意してください。これにより、すでに高可用性レベルが提供されます。HA を有効にすると、再起動によって発生するダウンタイムがさらに短縮されます。
- デフォルト
- False Platforms:: Kubernetes Updatable:: True。高可用性 も参照してください。
グローバルオプション
--platform global
Skupper プラットフォームを設定します。
- デフォルト
- kubernetes
- Choices:: kubernetes
- Kubernetes
- docker
- Docker
- podman
- Podman
- linux
- Linux
プラットフォームの概念 も参照してください。
--help global
ヘルプを表示して終了します。
20.1.5. CLI Group: Site のリンク
20.1.5.1. Token の使用
20.1.5.1.1. Token コマンド
skupper token [subcommand] [options]
skupper token [subcommand] [options]
フィールド | 値 |
---|---|
Platforms | Kubernetes、Docker、Podman、Linux |
コマンド | 説明 |
---|---|
現在のサイトへのリンクと引き換え可能なトークンファイルを発行します。 | |
トークンファイルを利用してリモートサイトへのリンクを作成します。 |
20.1.5.1.2. Token issue コマンド
skupper token issue <file> [options]
skupper token issue <file> [options]
現在のサイトへのリンクと引き換え可能なトークンファイルを発行します。
このコマンドは、トークンを発行するために最初にアクセス許可を作成します。
トークンを発行するには、リンクアクセスが有効になっているサイトが必要です。このコマンドは、サイトが準備完了状態になるまで待機し、トークンを生成します。
フィールド | 値 |
---|---|
Platforms | Kubernetes |
Waits for | Ready |
例
Issue an access token skupper token issue ~/token.yaml Issue an access token with non-default limits skupper token issue ~/token.yaml --expiration-window 24h --redemptions-allowed 3 Issue a token using an existing access grant skupper token issue ~/token.yaml --grant west-1
# Issue an access token
$ skupper token issue ~/token.yaml
Waiting for status...
Access grant "west-6bfn6" is ready.
Token file /home/fritz/token.yaml created.
Transfer this file to a remote site. At the remote site,
create a link to this site using the 'skupper token
redeem' command:
$ skupper token redeem <file>
The token expires after 1 use or after 15 minutes.
# Issue an access token with non-default limits
$ skupper token issue ~/token.yaml --expiration-window 24h --redemptions-allowed 3
# Issue a token using an existing access grant
$ skupper token issue ~/token.yaml --grant west-1
プライマリーオプション
<file> 必須
作成するトークンファイルの名前。
- Platforms
- Kubernetes、Docker、Podman、Linux
--timeout
指定された時間内に操作が完了しない場合はエラーが発生します。
- デフォルト
- 60s
- Platforms
- Kubernetes、Docker、Podman、Linux
--expiration-window
このグラントのアクセストークンを使用できる期間。
- デフォルト
- 15m
- Platforms
- Kubernetes、Docker、Podman、Linux
--redemptions-allowed
このグラントのアクセストークンを使用できる回数。
- デフォルト
- 1 Platforms:: Kubernetes, Docker, Podman, Linux
--grant の詳細
新しいアクセス許可を作成する代わりに、名前付きアクセス許可を使用してください。
- Platforms
- Kubernetes、Docker、Podman、Linux
グローバルオプション
--context global
kubeconfig コンテキストを設定します。
Kubernetes kubeconfigs も参照してください。
--kubeconfig global
kubeconfig ファイルへのパスを設定します。
Kubernetes kubeconfigs も参照してください。
--namespace global
現在の namespace を設定します。
- Platforms
- Kubernetes、Docker、Podman、Linux。Kubernetes namespaces、システム namespaces も参照してください。
--platform global
Skupper プラットフォームを設定します。
- デフォルト
- kubernetes
- Choices:: kubernetes
- Kubernetes
- docker
- Docker
- podman
- Podman
- linux
- Linux
- Platforms
- Kubernetes、Docker、Podman、Linux。Platform concept も参照してください。
--help global
ヘルプを表示して終了します。
- Platforms
- Kubernetes、Docker、Podman、Linux
エラー
Link access is not enabled
現在、このサイトのリンクアクセスは有効になっていません。"skupper site update --enable-link-access" を使用して有効にできます。
20.1.5.1.3. Token redeem コマンド
skupper token redeem <file> [options]
skupper token redeem <file> [options]
リモートサイトへのリンクを作成するには、トークンファイルを参照します。
フィールド | 値 |
---|---|
Platforms | Kubernetes、Docker、Podman、Linux |
例
Redeem an access token skupper token redeem ~/token.yaml
# Redeem an access token
$ skupper token redeem ~/token.yaml
Waiting for status...
Link "west-6bfn6" is active.
You can now safely delete /home/fritz/token.yaml.
プライマリーオプション
<file> 必須
使用するトークンファイルの名前。
--timeout
指定された時間内に操作が完了しない場合はエラーが発生します。
- デフォルト
- 60s
--link-cost
リンクの作成時に使用するリンクコスト。
- デフォルト
- 1 負荷分散 も参照してください。
グローバルオプション
--context global
kubeconfig コンテキストを設定します。
- Platforms
- Kubernetes。Kubernetes kubeconfigs も参照してください。
--kubeconfig global
kubeconfig ファイルへのパスを設定します。
- Platforms
- Kubernetes。Kubernetes kubeconfigs も参照してください。
--namespace global
現在の namespace を設定します。
Kubernetes namespace、システム namespace も参照してください。
--platform global
Skupper プラットフォームを設定します。
- デフォルト
- kubernetes
- Choices:: kubernetes
- Kubernetes
- docker
- Docker
- podman
- Podman
- linux
- Linux
プラットフォームの概念 も参照してください。
--help global
ヘルプを表示して終了します。
20.1.5.2. Link の使用
20.1.5.2.1. Link コマンド
skupper link [subcommand] [options]
skupper link [subcommand] [options]
フィールド | 値 |
---|---|
Platforms | Kubernetes、Docker、Podman、Linux |
コマンド | 説明 |
---|---|
リンク設定を変更します。 | |
リンクを削除します。 | |
現在のサイトのリンクのステータスを表示します。 | |
リモートサイトで使用するリンクリソースを生成します。 |
20.1.5.2.2. Link update コマンド
skupper link update <name> [options]
skupper link update <name> [options]
リンク設定を変更します。
フィールド | 値 |
---|---|
Platforms | Kubernetes、Docker、Podman、Linux |
Waits for | Ready |
例
Change the link cost skupper link update west-6bfn6 --cost 10
# Change the link cost
$ skupper link update west-6bfn6 --cost 10
Waiting for status...
Link "west-6bfn6" is ready.
プライマリーオプション
<name> 必須
更新するリソースの名前。
Kubernetes object names も参照してください。
--cost
リンク経由でトラフィックを送信するための設定されたルーティングコスト。
- デフォルト
- 1 負荷分散 も参照してください。
--timeout
指定された時間内に操作が完了しない場合はエラーが発生します。
- デフォルト
- 60s
- Platforms
- Kubernetes
--wait
終了する前に指定されたステータスを待機します。
- デフォルト
- ready
- Choices:: none
- Do not wait
- configured
- Configured
- ready
- Ready
- Platforms
- Kubernetes。Resource status も参照してください。
グローバルオプション
--context global
kubeconfig コンテキストを設定します。
- Platforms
- Kubernetes。Kubernetes kubeconfigs も参照してください。
--kubeconfig global
kubeconfig ファイルへのパスを設定します。
- Platforms
- Kubernetes。Kubernetes kubeconfigs も参照してください。
--namespace global
現在の namespace を設定します。
Kubernetes namespace、システム namespace も参照してください。
--platform global
Skupper プラットフォームを設定します。
- デフォルト
- kubernetes
- Choices:: kubernetes
- Kubernetes
- docker
- Docker
- podman
- Podman
- linux
- Linux
プラットフォームの概念 も参照してください。
--help global
ヘルプを表示して終了します。
20.1.5.2.3. Link delete コマンド
skupper link delete <name> [options]
skupper link delete <name> [options]
リンクを削除します。
フィールド | 値 |
---|---|
Platforms | Kubernetes、Docker、Podman、Linux |
Waits for | Deletion |
例
Delete a link skupper link delete west-6bfn6
# Delete a link
$ skupper link delete west-6bfn6
Waiting for deletion...
Link "west-6bfn6" is deleted.
プライマリーオプション
<name> 必須
削除するリソースの名前。
Kubernetes object names も参照してください。
--timeout
指定された時間内に操作が完了しない場合はエラーが発生します。
- デフォルト
- 60s
- Platforms
- Kubernetes
--wait
終了する前に削除が完了するまで待機します。
- デフォルト
- true Platforms:: Kubernetes
グローバルオプション
--context global
kubeconfig コンテキストを設定します。
- Platforms
- Kubernetes。Kubernetes kubeconfigs も参照してください。
--kubeconfig global
kubeconfig ファイルへのパスを設定します。
- Platforms
- Kubernetes。Kubernetes kubeconfigs も参照してください。
--namespace global
現在の namespace を設定します。
Kubernetes namespace、システム namespace も参照してください。
--platform global
Skupper プラットフォームを設定します。
- デフォルト
- kubernetes
- Choices:: kubernetes
- Kubernetes
- docker
- Docker
- podman
- Podman
- linux
- Linux
プラットフォームの概念 も参照してください。
--help global
ヘルプを表示して終了します。
20.1.5.2.4. Link status コマンド
skupper link status [name] [options]
skupper link status [name] [options]
現在のサイトのリンクのステータスを表示します。
フィールド | 値 |
---|---|
Platforms | Kubernetes、Docker、Podman、Linux |
例
Show the status of all links in the current site skupper link status Show the status of one link skupper link status west-6bfn6
# Show the status of all links in the current site
$ skupper link status
NAME STATUS COST
west-6bfn6 Ready 1
south-ac619 Error 10
Links from remote sites:
<none>
# Show the status of one link
$ skupper link status west-6bfn6
Name: west-6bfn6
Status: Ready
Message: <none>
Cost: 1
プライマリーオプション
[name] 任意
オプションのリソース名。設定されている場合、status コマンドは指定されたリソースの状態のみを報告します。
Kubernetes object names も参照してください。
--timeout
指定された時間内に操作が完了しない場合はエラーが発生します。
- デフォルト
- 60s
- Platforms
- Kubernetes。Duration format も参照してください。
--output
体系化された出力形式で、コンソールにステータスを出力します。
- 選択肢
- JSON:: Produce JSON 出力
- yaml
- YAML 出力の生成
グローバルオプション
--context global
kubeconfig コンテキストを設定します。
- Platforms
- Kubernetes。Kubernetes kubeconfigs も参照してください。
--kubeconfig global
kubeconfig ファイルへのパスを設定します。
- Platforms
- Kubernetes。Kubernetes kubeconfigs も参照してください。
--namespace global
現在の namespace を設定します。
Kubernetes namespace、システム namespace も参照してください。
--platform global
Skupper プラットフォームを設定します。
- デフォルト
- kubernetes
- Choices:: kubernetes
- Kubernetes
- docker
- Docker
- podman
- Podman
- linux
- Linux
プラットフォームの概念 も参照してください。
--help global
ヘルプを表示して終了します。
20.1.5.2.5. Link generate コマンド
skupper link generate [name] [options]
skupper link generate [name] [options]
リモートサイトで使用するリンクリソースを生成します。
リンクを生成するには、リンクアクセスが有効になっているサイトが必要です。このコマンドは、サイトが準備完了状態になるまで待機し、リンクを生成します。
フィールド | 値 |
---|---|
Platforms | Kubernetes、Docker、Podman、Linux |
Waits for | Site resource ready |
例
Generate a Link resource and print it to the console skupper link generate Generate a Link resource and direct the output to a file skupper link generate > link.yaml
# Generate a Link resource and print it to the console
$ skupper link generate
apiVersion: skupper.io/v2alpha1
kind: Link
metadata:
name: south-ac619
spec:
endpoints:
- group: skupper-router-1
host: 10.97.161.185
name: inter-router
port: "55671"
- group: skupper-router-1
host: 10.97.161.185
name: edge
port: "45671"
tlsCredentials: south-ac619
---
apiVersion: v1
kind: Secret
type: kubernetes.io/tls
metadata:
name: south-ac619
data:
ca.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURKekNDQWcrZ0F3SUJB [...]
tls.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURORENDQWh5Z0F3SUJ [...]
tls.key: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFb3dJQkFBS0N [...]
# Generate a Link resource and direct the output to a file
$ skupper link generate > link.yaml
プライマリーオプション
[name] 任意
生成されるリソースの名前。何も指定されていない場合は名前が生成されます。
Kubernetes object names も参照してください。
--cost
リンク経由でトラフィックを送信するための設定されたルーティングコスト。
- デフォルト
- 1 負荷分散 も参照してください。
--output
出力形式を選択します。
- デフォルト
- yaml
- Choices:: json
- JSON 出力の生成
- yaml
- YAML 出力の生成
グローバルオプション
--context global
kubeconfig コンテキストを設定します。
- Platforms
- Kubernetes。Kubernetes kubeconfigs も参照してください。
--kubeconfig global
kubeconfig ファイルへのパスを設定します。
- Platforms
- Kubernetes。Kubernetes kubeconfigs も参照してください。
--namespace global
現在の namespace を設定します。
Kubernetes namespace、システム namespace も参照してください。
--platform global
Skupper プラットフォームを設定します。
- デフォルト
- kubernetes
- Choices:: kubernetes
- Kubernetes
- docker
- Docker
- podman
- Podman
- linux
- Linux
プラットフォームの概念 も参照してください。
--help global
ヘルプを表示して終了します。
20.1.6. CLI Group: サービスの公開
20.1.6.1. Listener の使用
20.1.6.1.1. Listener コマンド
skupper listener [subcommand] [options]
skupper listener [subcommand] [options]
フィールド | 値 |
---|---|
Platforms | Kubernetes、Docker、Podman、Linux |
コマンド | 説明 |
---|---|
リスナーを作成します。 | |
リスナーを更新します。 | |
リスナーを削除します。 | |
現在のサイトのリスナーのステータスを表示します。 | |
リスナーリソースを生成します。 |
20.1.6.1.2. Listener create コマンド
skupper listener create <name> <port> [options]
skupper listener create <name> <port> [options]
リスナーを作成します。
フィールド | 値 |
---|---|
Platforms | Kubernetes、Docker、Podman、Linux |
Waits for | Configured |
例
Create a listener for a database skupper listener create database 5432 Set the routing key and host explicitly skupper listener create backend 8080 --routing-key be1 --host apiserver
# Create a listener for a database
$ skupper listener create database 5432
Waiting for status...
Listener "database" is configured.
# Set the routing key and host explicitly
$ skupper listener create backend 8080 --routing-key be1 --host apiserver
プライマリーオプション
<name> 必須
作成するリソースの名前。
--routing-key
および --host
オプションが指定されていない場合、名前はデフォルトのルーティングキーとホストになります。
Kubernetes object names も参照してください。
<port> 必須
ローカルリスナーのポート。このサイトのクライアントは、リスナーホストとポートを使用してリモートサービスへの接続を確立します。
- Updatable
- True
--routing-key frequently used
リスナーからコネクターへのトラフィックをルーティングするために使用される識別子。リモートサイトのサービスに接続できるようにするには、ローカルリスナーとリモートコネクターのルーティングキーが一致している必要があります。
- デフォルト
- name の値
- Updatable
- True
--host frequently used
ローカルリスナーのホスト名または IP アドレス。このサイトのクライアントは、リスナーホストとポートを使用してリモートサービスへの接続を確立します。
- デフォルト
- name の値
- Updatable
- True
--wait
終了する前に指定されたステータスを待機します。
- デフォルト
- ready
- Choices:: none
- 待機しません。
- configured
- 設定が適用されるまで待ちます。
- ready
- リソースを使用する準備ができるまで待ちます。
- Platforms
- Kubernetes。Resource status も参照してください。
--timeout
指定された時間内に操作が完了しない場合はエラーが発生します。
- デフォルト
- 60s
- Platforms
- Kubernetes。Duration format も参照してください。
グローバルオプション
--context global
kubeconfig コンテキストを設定します。
- Platforms
- Kubernetes。Kubernetes kubeconfigs も参照してください。
--kubeconfig global
kubeconfig ファイルへのパスを設定します。
- Platforms
- Kubernetes。Kubernetes kubeconfigs も参照してください。
--namespace global
現在の namespace を設定します。
Kubernetes namespace、システム namespace も参照してください。
--platform global
Skupper プラットフォームを設定します。
- デフォルト
- kubernetes
- Choices:: kubernetes
- Kubernetes
- docker
- Docker
- podman
- Podman
- linux
- Linux
プラットフォームの概念 も参照してください。
--help global
ヘルプを表示して終了します。
20.1.6.1.3. Listener update コマンド
skupper listener update <name> [options]
skupper listener update <name> [options]
リスナーを更新します。
フィールド | 値 |
---|---|
Platforms | Kubernetes、Docker、Podman、Linux |
Waits for | Configured |
例
Change the host and port skupper listener update database --host mysql --port 3306 Change the routing key skupper listener update backend --routing-key be2
# Change the host and port
$ skupper listener update database --host mysql --port 3306
Waiting for status...
Listener "database" is configured.
# Change the routing key
$ skupper listener update backend --routing-key be2
プライマリーオプション
<name> 必須
更新するリソースの名前。
Kubernetes object names も参照してください。
--host frequently used
ローカルリスナーのホスト名または IP アドレス。このサイトのクライアントは、リスナーホストとポートを使用してリモートサービスへの接続を確立します。
- デフォルト
- name の値
- Updatable
- True
--port frequently used
ローカルリスナーのポート。このサイトのクライアントは、リスナーホストとポートを使用してリモートサービスへの接続を確立します。
- Updatable
- True
--routing-key frequently used
リスナーからコネクターへのトラフィックをルーティングするために使用される識別子。リモートサイトのサービスに接続できるようにするには、ローカルリスナーとリモートコネクターのルーティングキーが一致している必要があります。
- デフォルト
- name の値
- Updatable
- True
--wait
終了する前に指定されたステータスを待機します。
- デフォルト
- ready
- Choices:: none
- Do not wait
- configured
- Configured
- ready
- Ready
- Platforms
- Kubernetes。Resource status も参照してください。
--timeout
指定された時間内に操作が完了しない場合はエラーが発生します。
- デフォルト
- 60s
- Platforms
- Kubernetes
グローバルオプション
--context global
kubeconfig コンテキストを設定します。
- Platforms
- Kubernetes。Kubernetes kubeconfigs も参照してください。
--kubeconfig global
kubeconfig ファイルへのパスを設定します。
- Platforms
- Kubernetes。Kubernetes kubeconfigs も参照してください。
--namespace global
現在の namespace を設定します。
Kubernetes namespace、システム namespace も参照してください。
--platform global
Skupper プラットフォームを設定します。
- デフォルト
- kubernetes
- Choices:: kubernetes
- Kubernetes
- docker
- Docker
- podman
- Podman
- linux
- Linux
プラットフォームの概念 も参照してください。
--help global
ヘルプを表示して終了します。
20.1.6.1.4. Listener delete コマンド
skupper listener delete <name> [options]
skupper listener delete <name> [options]
リスナーを削除します。
フィールド | 値 |
---|---|
Platforms | Kubernetes、Docker、Podman、Linux |
Waits for | Deletion |
例
Delete a listener skupper listener delete database
# Delete a listener
$ skupper listener delete database
Waiting for deletion...
Listener "database" is deleted.
プライマリーオプション
<name> 必須
削除するリソースの名前。
Kubernetes object names も参照してください。
--timeout
指定された時間内に操作が完了しない場合はエラーが発生します。
- デフォルト
- 60s
- Platforms
- Kubernetes
--wait
終了する前に削除が完了するまで待機します。
- デフォルト
- true Platforms:: Kubernetes
グローバルオプション
--context global
kubeconfig コンテキストを設定します。
- Platforms
- Kubernetes。Kubernetes kubeconfigs も参照してください。
--kubeconfig global
kubeconfig ファイルへのパスを設定します。
- Platforms
- Kubernetes。Kubernetes kubeconfigs も参照してください。
--namespace global
現在の namespace を設定します。
Kubernetes namespace、システム namespace も参照してください。
--platform global
Skupper プラットフォームを設定します。
- デフォルト
- kubernetes
- Choices:: kubernetes
- Kubernetes
- docker
- Docker
- podman
- Podman
- linux
- Linux
プラットフォームの概念 も参照してください。
--help global
ヘルプを表示して終了します。
20.1.6.1.5. Listener status コマンド
skupper listener status [name] [options]
skupper listener status [name] [options]
現在のサイトのリスナーのステータスを表示します。
フィールド | 値 |
---|---|
Platforms | Kubernetes、Docker、Podman、Linux |
例
Show the status of all listeners in the current site skupper listener status Show the status of one listener skupper listener status backend
# Show the status of all listeners in the current site
$ skupper listener status
NAME STATUS ROUTING-KEY HOST PORT CONNECTORS
backend Ready backend backend 8080 true
database Ready database database 5432 true
# Show the status of one listener
$ skupper listener status backend
Name: backend
Status: Ready
Message: <none>
Routing key: backend
Host: backend
Port: 8080
Has matching connectors: true
プライマリーオプション
[name] 任意
オプションのリソース名。設定されている場合、status コマンドは指定されたリソースの状態のみを報告します。
Kubernetes object names も参照してください。
--timeout
指定された時間内に操作が完了しない場合はエラーが発生します。
- デフォルト
- 60s
- Platforms
- Kubernetes。Duration format も参照してください。
--output
体系化された出力形式で、コンソールにステータスを出力します。
- 選択肢
- JSON:: Produce JSON 出力
- yaml
- YAML 出力の生成
グローバルオプション
--context global
kubeconfig コンテキストを設定します。
- Platforms
- Kubernetes。Kubernetes kubeconfigs も参照してください。
--kubeconfig global
kubeconfig ファイルへのパスを設定します。
- Platforms
- Kubernetes。Kubernetes kubeconfigs も参照してください。
--namespace global
現在の namespace を設定します。
Kubernetes namespace、システム namespace も参照してください。
--platform global
Skupper プラットフォームを設定します。
- デフォルト
- kubernetes
- Choices:: kubernetes
- Kubernetes
- docker
- Docker
- podman
- Podman
- linux
- Linux
プラットフォームの概念 も参照してください。
--help global
ヘルプを表示して終了します。
20.1.6.1.6. Listener generate コマンド
skupper listener generate <name> <port> [options]
skupper listener generate <name> <port> [options]
Listener リソースを生成します。
フィールド | 値 |
---|---|
Platforms | Kubernetes、Docker、Podman、Linux |
例
Generate a Listener resource and print it to the console skupper listener generate backend 8080 Generate a Listener resource and direct the output to a file skupper listener generate backend 8080 > backend.yaml
# Generate a Listener resource and print it to the console
$ skupper listener generate backend 8080
apiVersion: skupper.io/v2alpha1
kind: Listener
metadata:
name: backend
spec:
routingKey: backend
port: 8080
host: backend
# Generate a Listener resource and direct the output to a file
$ skupper listener generate backend 8080 > backend.yaml
プライマリーオプション
<name> 必須
生成されるリソースの名前。
Kubernetes object names も参照してください。
<port> 必須
ローカルリスナーのポート。このサイトのクライアントは、リスナーホストとポートを使用してリモートサービスへの接続を確立します。
- Updatable
- True
--routing-key frequently used
リスナーからコネクターへのトラフィックをルーティングするために使用される識別子。リモートサイトのサービスに接続できるようにするには、ローカルリスナーとリモートコネクターのルーティングキーが一致している必要があります。
- デフォルト
- name の値
- Updatable
- True
--host frequently used
ローカルリスナーのホスト名または IP アドレス。このサイトのクライアントは、リスナーホストとポートを使用してリモートサービスへの接続を確立します。
- デフォルト
- name の値
- Updatable
- True
--wait
終了する前に指定されたステータスを待機します。
- デフォルト
- configured
- Choices:: none
- Do not wait
- configured
- Configured
- ready
- Ready
--output
出力形式を選択します。
- デフォルト
- yaml
- Choices:: json
- JSON 出力の生成
- yaml
- YAML 出力の生成
グローバルオプション
--platform global
Skupper プラットフォームを設定します。
- デフォルト
- kubernetes
- Choices:: kubernetes
- Kubernetes
- docker
- Docker
- podman
- Podman
- linux
- Linux
プラットフォームの概念 も参照してください。
--help global
ヘルプを表示して終了します。
20.1.6.2. Connector の使用
20.1.6.2.1. Connector コマンド
skupper connector [subcommand] [options]
skupper connector [subcommand] [options]
フィールド | 値 |
---|---|
Platforms | Kubernetes、Docker、Podman、Linux |
コマンド | 説明 |
---|---|
コネクターを作成します。 | |
コネクターを更新します。 | |
コネクターを削除します。 | |
現在のサイトのコネクターの状態を表示します。 | |
コネクターリソースを生成します。 |
20.1.6.2.2. Connector create コマンド
skupper connector create <name> <port> [options]
skupper connector create <name> <port> [options]
コネクターを作成します。
フィールド | 値 |
---|---|
Platforms | Kubernetes、Docker、Podman、Linux |
Waits for | Configured |
例
Create a connector for a database skupper connector create database 5432 Set the routing key and selector explicitly skupper connector create backend 8080 --routing-key be1 --selector app=be1 Use the workload option to select pods skupper connector create backend 8080 --workload deployment/backend
# Create a connector for a database
$ skupper connector create database 5432
Waiting for status...
Connector "database" is configured.
# Set the routing key and selector explicitly
$ skupper connector create backend 8080 --routing-key be1 --selector app=be1
# Use the workload option to select pods
$ skupper connector create backend 8080 --workload deployment/backend
プライマリーオプション
<name> 必須
作成するリソースの名前。
--routing-key
オプションが指定されていない場合、名前はデフォルトのルーティングキーになります。Kubernetes では、--selector
および --workload
オプションが指定されていない場合、名前によってデフォルトの Pod セレクターが定義されます。
Kubernetes object names も参照してください。
<port> 必須
接続するターゲットサーバーのポート。
- Updatable
- True
--routing-key frequently used
リスナーからコネクターへのトラフィックをルーティングするために使用される識別子。ローカルワークロードをリモートサイトに公開するには、リモートリスナーとローカルコネクターのルーティングキーが一致している必要があります。
- デフォルト
- name の値
- Updatable
- True
--workload frequently used
ワークロードを識別する Kubernetes リソース名。<resource-type>/<resource-name>
構文を使用し、同等の Pod セレクターに対して解決されます。
これは、--selector
または --host
オプションを設定する代わりに使用できます。
- Platforms
- Kubernetes。Kubernetes workloads も参照してください。
--selector
ターゲットサーバー Pod を指定するための Kubernetes ラベルセレクター。<label-name>=<label-value>
構文を使用します。
これは、--workload
または --host
オプションを設定する代わりに使用できます。
- デフォルト
- app=[value-of-name]
- Platforms:: Kubernetes Updatable
- True。Kubernetes label selectors も参照してください。
--host
サーバーのホスト名または IP アドレス。これは、セレクター
の代わりにターゲットサーバーを指定するものです。
これは、--selector
または --workload
オプションを設定する代わりに使用できます。
- デフォルト
-
Kubernetes の場合: name の値 + Docker、Podman、Linux の場合:
localhost
- Updatable
- True
--wait
終了する前に指定されたステータスを待機します。
- デフォルト
- ready
- Choices:: none
- 待機しません。
- configured
- 設定が適用されるまで待ちます。
- ready
- リソースを使用する準備ができるまで待ちます。
- Platforms
- Kubernetes。Resource status も参照してください。
--timeout
指定された時間内に操作が完了しない場合はエラーが発生します。
- デフォルト
- 60s
- Platforms
- Kubernetes。Duration format も参照してください。
グローバルオプション
--context global
kubeconfig コンテキストを設定します。
- Platforms
- Kubernetes。Kubernetes kubeconfigs も参照してください。
--kubeconfig global
kubeconfig ファイルへのパスを設定します。
- Platforms
- Kubernetes。Kubernetes kubeconfigs も参照してください。
--namespace global
現在の namespace を設定します。
Kubernetes namespace、システム namespace も参照してください。
--platform global
Skupper プラットフォームを設定します。
- デフォルト
- kubernetes
- Choices:: kubernetes
- Kubernetes
- docker
- Docker
- podman
- Podman
- linux
- Linux
プラットフォームの概念 も参照してください。
--help global
ヘルプを表示して終了します。
20.1.6.2.3. Connector update コマンド
skupper connector update <name> <port> [options]
skupper connector update <name> <port> [options]
コネクターを更新します。
フィールド | 値 |
---|---|
Platforms | Kubernetes、Docker、Podman、Linux |
Waits for | Configured |
例
Change the workload and port skupper connector update database --workload deployment/mysql --port 3306 Change the routing key skupper connector update backend --routing-key be2
# Change the workload and port
$ skupper connector update database --workload deployment/mysql --port 3306
Waiting for status...
Connector "database" is configured.
# Change the routing key
$ skupper connector update backend --routing-key be2
プライマリーオプション
<name> 必須
更新するリソースの名前。
Kubernetes object names も参照してください。
<port> 必須
接続するターゲットサーバーのポート。
- Updatable
- True
--routing-key frequently used
リスナーからコネクターへのトラフィックをルーティングするために使用される識別子。ローカルワークロードをリモートサイトに公開するには、リモートリスナーとローカルコネクターのルーティングキーが一致している必要があります。
- デフォルト
- name の値
- Updatable
- True
--workload frequently used
ワークロードを識別する Kubernetes リソース名。<resource-type>/<resource-name>
構文を使用し、同等の Pod セレクターに対して解決されます。
これは、--selector
または --host
オプションを設定する代わりに使用できます。
- Platforms
- Kubernetes。Kubernetes workloads も参照してください。
--selector
ターゲットサーバー Pod を指定するための Kubernetes ラベルセレクター。<label-name>=<label-value>
構文を使用します。
これは、--workload
または --host
オプションを設定する代わりに使用できます。
- デフォルト
- app=[value-of-name]
- Platforms:: Kubernetes Updatable
- True。Kubernetes label selectors も参照してください。
--host
サーバーのホスト名または IP アドレス。これは、セレクター
の代わりにターゲットサーバーを指定するものです。
これは、--selector
または --workload
オプションを設定する代わりに使用できます。
- デフォルト
-
Kubernetes の場合: name の値 + Docker、Podman、Linux の場合:
localhost
- Updatable
- True
--wait
終了する前に指定されたステータスを待機します。
- デフォルト
- ready
- Choices:: none
- Do not wait
- configured
- Configured
- ready
- Ready
- Platforms
- Kubernetes。Resource status も参照してください。
--timeout
指定された時間内に操作が完了しない場合はエラーが発生します。
- デフォルト
- 60s
- Platforms
- Kubernetes
グローバルオプション
--context global
kubeconfig コンテキストを設定します。
- Platforms
- Kubernetes。Kubernetes kubeconfigs も参照してください。
--kubeconfig global
kubeconfig ファイルへのパスを設定します。
- Platforms
- Kubernetes。Kubernetes kubeconfigs も参照してください。
--namespace global
現在の namespace を設定します。
Kubernetes namespace、システム namespace も参照してください。
--platform global
Skupper プラットフォームを設定します。
- デフォルト
- kubernetes
- Choices:: kubernetes
- Kubernetes
- docker
- Docker
- podman
- Podman
- linux
- Linux
プラットフォームの概念 も参照してください。
--help global
ヘルプを表示して終了します。
20.1.6.2.4. Connector delete コマンド
skupper connector delete <name> [options]
skupper connector delete <name> [options]
コネクターを削除します。
フィールド | 値 |
---|---|
Platforms | Kubernetes、Docker、Podman、Linux |
Waits for | Deletion |
例
Delete a connector skupper connector delete database
# Delete a connector
$ skupper connector delete database
Waiting for deletion...
Connector "database" is deleted.
プライマリーオプション
<name> 必須
削除するリソースの名前。
Kubernetes object names も参照してください。
--timeout
指定された時間内に操作が完了しない場合はエラーが発生します。
- デフォルト
- 60s
- Platforms
- Kubernetes
--wait
終了する前に削除が完了するまで待機します。
- デフォルト
- true Platforms:: Kubernetes
グローバルオプション
--context global
kubeconfig コンテキストを設定します。
- Platforms
- Kubernetes。Kubernetes kubeconfigs も参照してください。
--kubeconfig global
kubeconfig ファイルへのパスを設定します。
- Platforms
- Kubernetes。Kubernetes kubeconfigs も参照してください。
--namespace global
現在の namespace を設定します。
Kubernetes namespace、システム namespace も参照してください。
--platform global
Skupper プラットフォームを設定します。
- デフォルト
- kubernetes
- Choices:: kubernetes
- Kubernetes
- docker
- Docker
- podman
- Podman
- linux
- Linux
プラットフォームの概念 も参照してください。
--help global
ヘルプを表示して終了します。
20.1.6.2.5. Connector status コマンド
skupper connector status [name] [options]
skupper connector status [name] [options]
現在のサイトのコネクターのステータスを表示します。
フィールド | 値 |
---|---|
Platforms | Kubernetes、Docker、Podman、Linux |
例
Show the status of all connectors in the current site skupper connector status Show the status of one connector skupper connector status backend
# Show the status of all connectors in the current site
$ skupper connector status
NAME STATUS ROUTING-KEY SELECTOR HOST PORT LISTENERS
backend Ready backend app=backend <none> 8080 true
database Ready database app=postgresql <none> 5432 true
# Show the status of one connector
$ skupper connector status backend
Name: backend
Status: Ready
Message: <none>
Routing key: backend
Selector: app=backend
Host: <none>
Port: 8080
Has matching listeners: 1
プライマリーオプション
[name] 任意
オプションのリソース名。設定されている場合、status コマンドは指定されたリソースの状態のみを報告します。
Kubernetes object names も参照してください。
--timeout
指定された時間内に操作が完了しない場合はエラーが発生します。
- デフォルト
- 60s
- Platforms
- Kubernetes。Duration format も参照してください。
--output
体系化された出力形式で、コンソールにステータスを出力します。
- 選択肢
- JSON:: Produce JSON 出力
- yaml
- YAML 出力の生成
グローバルオプション
--context global
kubeconfig コンテキストを設定します。
- Platforms
- Kubernetes。Kubernetes kubeconfigs も参照してください。
--kubeconfig global
kubeconfig ファイルへのパスを設定します。
- Platforms
- Kubernetes。Kubernetes kubeconfigs も参照してください。
--namespace global
現在の namespace を設定します。
Kubernetes namespace、システム namespace も参照してください。
--platform global
Skupper プラットフォームを設定します。
- デフォルト
- kubernetes
- Choices:: kubernetes
- Kubernetes
- docker
- Docker
- podman
- Podman
- linux
- Linux
プラットフォームの概念 も参照してください。
--help global
ヘルプを表示して終了します。
20.1.6.2.6. Connector generate コマンド
skupper connector generate <name> <port> [options]
skupper connector generate <name> <port> [options]
Connector リソースを生成します。
フィールド | 値 |
---|---|
Platforms | Kubernetes、Docker、Podman、Linux |
例
Generate a Connector resource and print it to the console skupper connector generate backend 8080 Generate a Connector resource and direct the output to a file skupper connector generate backend 8080 > backend.yaml
# Generate a Connector resource and print it to the console
$ skupper connector generate backend 8080
apiVersion: skupper.io/v2alpha1
kind: Connector
metadata:
name: backend
spec:
routingKey: backend
port: 8080
selector: app=backend
# Generate a Connector resource and direct the output to a file
$ skupper connector generate backend 8080 > backend.yaml
プライマリーオプション
<name> 必須
生成されるリソースの名前。
Kubernetes object names も参照してください。
<port> 必須
接続するターゲットサーバーのポート。
- Updatable
- True
--routing-key frequently used
リスナーからコネクターへのトラフィックをルーティングするために使用される識別子。ローカルワークロードをリモートサイトに公開するには、リモートリスナーとローカルコネクターのルーティングキーが一致している必要があります。
- デフォルト
- name の値
- Updatable
- True
--workload frequently used
ワークロードを識別する Kubernetes リソース名。<resource-type>/<resource-name>
構文を使用し、同等の Pod セレクターに対して解決されます。
これは、--selector
または --host
オプションを設定する代わりに使用できます。
- Platforms
- Kubernetes。Kubernetes workloads も参照してください。
--selector
ターゲットサーバー Pod を指定するための Kubernetes ラベルセレクター。<label-name>=<label-value>
構文を使用します。
これは、--workload
または --host
オプションを設定する代わりに使用できます。
- デフォルト
- app=[value-of-name]
- Platforms:: Kubernetes Updatable
- True。Kubernetes label selectors も参照してください。
--host
サーバーのホスト名または IP アドレス。これは、セレクター
の代わりにターゲットサーバーを指定するものです。
これは、--selector
または --workload
オプションを設定する代わりに使用できます。
- デフォルト
-
Kubernetes の場合: name の値 + Docker、Podman、Linux の場合:
localhost
- Updatable
- True
--wait
終了する前に指定されたステータスを待機します。
- デフォルト
- configured
- Choices:: none
- Do not wait
- configured
- Configured
- ready
- Ready
--output
出力形式を選択します。
- デフォルト
- yaml
- Choices:: json
- JSON 出力の生成
- yaml
- YAML 出力の生成
グローバルオプション
--platform global
Skupper プラットフォームを設定します。
- デフォルト
- kubernetes
- Choices:: kubernetes
- Kubernetes
- docker
- Docker
- podman
- Podman
- linux
- Linux
プラットフォームの概念 も参照してください。
--help global
ヘルプを表示して終了します。
20.1.7. CLI Group: その他の操作
20.1.7.1. Version の使用
20.1.7.1.1. Version コマンド
skupper version [options]
skupper version [options]
Skupper コンポーネントのバージョンを表示します。
フィールド | 値 |
---|---|
Platforms | Kubernetes、Docker、Podman、Linux |
例
Show component versions skupper version Show version details in YAML format skupper version --output yaml
# Show component versions
$ skupper version
COMPONENT VERSION
cli 2.0.0
controller 2.0.0
router 3.0.0
# Show version details in YAML format
$ skupper version --output yaml
components:
cli:
version: 2.0.0
controller:
version: 2.0.0
images:
controller:
name: quay.io/skupper/controller:2.0.0
digest: sha256:663d97f86ff3fcce27a3842cd2b3a8e32af791598a46d815c07b0aec07505f55
router:
version: 3.0.0
images:
router:
name: quay.io/skupper/router:3.0.0
digest: sha256:dc5e27385a1e110dd2db1903ba7ec3e0d50b57f742aa02d7dd0a7b1b68c34394
kube-adaptor:
name: quay.io/skupper/kube-adaptor:2.0.0
digest: sha256:4dc24bb3d605ed3fcec2f8ef7d45ca883d9d87b278bfedd5fcca74281d617a5e
プライマリーオプション
--output
体系化された詳細な出力を生成します。
- 選択肢
- JSON:: Produce JSON 出力
- yaml
- YAML 出力の生成
グローバルオプション
--context global
kubeconfig コンテキストを設定します。
- Platforms
- Kubernetes。Kubernetes kubeconfigs も参照してください。
--kubeconfig global
kubeconfig ファイルへのパスを設定します。
- Platforms
- Kubernetes。Kubernetes kubeconfigs も参照してください。
--namespace global
現在の namespace を設定します。
Kubernetes namespace、システム namespace も参照してください。
--platform global
Skupper プラットフォームを設定します。
- デフォルト
- kubernetes
- Choices:: kubernetes
- Kubernetes
- docker
- Docker
- podman
- Podman
- linux
- Linux
プラットフォームの概念 も参照してください。
--help global
ヘルプを表示して終了します。