Service Interconnect の使用


Red Hat Service Interconnect 2.0

CLI と YAML を使用してアプリケーションネットワークを作成する

概要

Red Hat Service Interconnect は、オープンソースの Skupper プロジェクトの Red Hat ビルドです。この Skupper ドキュメントは、参考用として複製されたものです。

第1章 Skupper の概要

ハイブリッドクラウドを使用すると、オンプレミス、プライベートクラウド、およびパブリッククラウドリソースを組み合わせることができます。このようなソリューションには多くの利点がありますが、独特な課題が 1 つあります。その課題とは、上記のリソース間の通信を可能にすることです。

Skupper は、さまざまな場所にあるネットワークで実行しているアプリケーションを簡単かつセキュアに接続する Application Network を活用し、この課題に対する解決策を提供します。

1.1. Application Network

Skupper は、Virtual Application Network またはアプリケーションネットワークと呼ばれるものを使用して、マルチクラスター通信の課題を解決します。Skupper の値を理解するには、最初にアプリケーションネットワークを理解するのに役立ちます。

アプリケーションネットワークは、ハイブリッドクラウド内のアプリケーションとサービスを仮想ネットワークに接続し、すべてが同じサイトで実行されているかのように相互に通信できるようにします。以下の図では、アプリケーションネットワークは、それぞれ異なるクラウドで実行されている 3 つのサービスを接続します。

overview-clouds

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

overview-application

アプリケーションネットワークはレイヤー 7 (アプリケーション層) で動作するため、ハイブリッドクラウド全体で通信を確立します。また、レイヤー 7 アプリケーションルーター を使用して、レイヤー 7 アプリケーションサービス 間の通信をルーティングします。

1.2. レイヤー 7 アプリケーションルーター

レイヤー 7 アプリケーションルーターは、従来のネットワークルーターが VPN のバックボーンを形成するのと同じように、アプリケーションネットワークのバックボーンを形成します。ただし、レイヤー 7 アプリケーションルーターは、ネットワークエンドポイント間で IP パケットをルーティングするのではなく、アプリケーションエンドポイント (レイヤー 7 アプリケーションサービスと呼ばれる) 間でメッセージをルーティングします。

レイヤー 7 アプリケーションサービス

レイヤー 7 アプリケーションサービスは、アプリケーションネットワークのエンドポイントまたは宛先を表します。アプリケーションがサービスに通信を送信すると、レイヤー 7 アプリケーションルーターは同じサービスを持つアプリケーションネットワーク内の他のアプリケーションに通信を分散します。

たとえば、以下の図では、Service B がアプリケーションサービスを含むメッセージをローカルアプリケーションルーターに送信します。Service AService C が同じサービスにサブスクライブしているため、アプリケーションルーターは各宛先に到達するまでアプリケーションネットワークを介してメッセージのコピーをルーティングします。

overview-routers

アプリケーションネットワークは複数のルーティングパターンを提供するため、通信はエニーキャスト (バランス型または最も近い) またはマルチキャストパターンで分散できます。

1.3. Skupper

Skupper は、Kubernetes または Linux でアプリケーションネットワークを作成するためのオープンソースツールです。Skupper を使用すると、異なるサイトで実行されるマイクロサービスを含む分散アプリケーションを作成できます。

この図は、3 つの異なるサイトで実行されている 3 つのサービスを接続する Skupper ネットワークを示しています。

overview-clusters

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 を使用して直接設定されたものと同じであるようにします。

第6章 Skupper CLI を使用した Kubernetes でのサイトの作成

skupper コマンドラインインターフェイス (CLI) を使用すると、現在の namespace のコンテキストからサイトを作成および管理できます。

一般的なワークフローは、サイトを作成し、サイト同士をリンクして、サービスをサービスネットワークに公開することです。

6.1. Skupper CLI の確認

skupper コマンドラインインターフェイス (CLI) をインストールすると、Skupper を簡単に使い始めることができます。

  1. Skupper のインストール の手順に従います。
  2. インストールを確認します。

    $  skupper version
    COMPONENT               VERSION
    cli                     {skupper_cli_version}
    Copy to Clipboard

6.2. Kubernetes の CLI を使用した単純なサイトの作成

前提条件

  • skupper CLI がインストールされている。
  • Skupper コントローラーは、実行中の Kubernetes クラスター上で実行されているか、プラットフォーム上で実行されています。

手順

  1. SKUPPER_PLATFORM 環境が設定されていないか、kubernetes に設定されていることを確認します。

    • kubernetes - default
    • podman
    • docker
    • linux
  2. Kubernetes でサイトを作成します。

    $ skupper site create <site-name> --namespace <namespace>
    Copy to Clipboard

    サイトを作成する namespace にコンテキストが設定されている場合、namespace を指定する必要はありません。以下に例を示します。

    $ skupper site create my-site
    Waiting for status...
    Site "my-site" is ready.
    Copy to Clipboard

    CLI を使用してサイトを作成するときに考慮すべきオプションは多数あります。よく使用される オプションなどは、CLI リファレンス を参照してください。

以下に例を示します。

  • --enable-link-access

    このオプションを有効にすると、トークンを作成してこのサイト に対して リンクできるようになります。デフォルトではこのオプションは無効になっていますが、後で skupper site update --enable-link-access で設定を変更できます。

  • --timeout <time>

    タイムアウトオプションを追加して、サイトステータスが ready と報告されるまで CLI が待機する最大時間を指定できます。

    skupper site create my-site --timeout 2m
    Copy to Clipboard

    タイムアウトオプションはサイトの作成を停止しませんが、サイトの準備ができていない場合は、次のように出力されます。

    Site "my-site" is not yet ready: Pending
    Copy to Clipboard

    skupper site status を使用すると、いつでもサイトのステータスを確認できます。

6.3. Kubernetes の CLI を使用したサイトの削除

前提条件

  • skupper CLI がインストールされている。

手順

  1. 以下のように、サイトが作成された namespace にコンテキストを変更します。

    kubectl config set-context --current --namespace west
    Copy to Clipboard
  2. 以下のコマンドを入力してサイトを削除します。

    skupper site delete
    Copy to Clipboard

第7章 Skupper CLI を使用した Kubernetes でのサイトのリンク

Skupper コマンドラインインターフェイス (CLI) を使用すると、サイト間のリンクを作成できます。リンクの方向は重要ではなく、通常は接続の容易さによって決まります。たとえば、east がファイアウォールの背後にある場合、east から west にリンクするのが最も簡単なオプションです。

サイトがリンクされると、ポートの開放やサイト間の接続の管理なしに、、アプリケーションネットワーク全体でサービスを公開して使用できるようになります。

7.1. トークンを使用したサイトのリンク

トークンは、サイトをリンクするための安全な方法を提供します。デフォルトでは、トークンは 1 回のみ使用でき、サイトをリンクするには 15 分以内に使用する必要があります。この手順では、あるサイトからトークンを発行し、そのトークンを別のサイトで引き換えてリンクを作成する方法を説明します。

前提条件

  • サイトを 2 つ。
  • enable-link-access が有効になっているサイトを 1 つ以上。

サイトをリンクするには、あるサイトでトークンを作成し、もう一方のサイトでそのトークンを利用してリンクを作成します。

手順

  1. トークンを発行するサイトで、リンクアクセスが有効になっていることを確認します。

    skupper site update --enable-link-access
    Copy to Clipboard
  2. トークンを作成します。

    skupper token issue <filename>
    Copy to Clipboard

    <filename> は、ローカルファイルシステムに保存されている YAML ファイルの名前に置き換えます。

    このファイルには、キーとそれを作成したサイトの場所が含まれています。

    📌 注意 このファイルにアクセスすると、アプリケーションネットワークにアクセスできるようになります。適切に保護してください。トークンは、以下の任意の組み合わせによって制限できます。

    • 時間 - 指定された期間を過ぎると、トークンの再利用ができなくなります。

      たとえば、トークンの発行後 1 時間使用できるようにするには、次のようにします。

      skupper token issue build/west.yaml --expiration-window 60m
      Copy to Clipboard
    • 使用法 - 1 つトークンから複数のリンクが作成されるのを防ぎます。

      たとえば、トークンを使用できるように 3 回するには、以下を実行します。

      skupper token issue output/west.yaml --redemptions-allowed 3
      Copy to Clipboard

    すべてのサイト間トラフィックは、専用の専用認証局 (CA) を使用した相互 TLS によって保護されます。トークンは証明書ではありませんが、リンクプロセス中に証明書と安全に交換されます。

  3. 別のサイトでトークンを引き換えてリンクを作成します。

    skupper token redeem <filename>
    Copy to Clipboard

    <filename> は、ローカルファイルシステムに保存されている YAML ファイルの名前に置き換えます。

  4. リンクのステータスを確認します。

    skupper link status
    Copy to Clipboard

    リンクの準備が整う前に、コマンドを複数回発行する必要がある場合があります。

    $ 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

    アプリケーションネットワーク上でサービスを公開できるようになりました。

CLI を使用してサイトをリンクするときに考慮すべきオプションは多数あります。よく使用される オプションなどは、CLI リファレンス を参照してください。

第8章 CLI を使用したアプリケーションネットワーク上のサービスの公開

サイトをリンクしてアプリケーションネットワークを作成した後、コネクターを使用して 1 つのサイトからサービスを公開し、リスナーを使用して他のサイトでそれらのサービスを利用できます。ルーティングキー は、1 つ以上のコネクターと 1 つ以上のリスナーを照合する文字列です。たとえば、ルーティングキー backend を使用してコネクターを作成する場合、そのサービスを利用するには、ルーティングキー backend を使用してリスナーを作成する必要があります。

このセクションでは、少なくとも 2 つのサイトを作成してリンクしていることを前提としています。

8.1. CLI を使用したコネクターの作成

コネクターは、ローカルのワークロードをリモートサイトのリスナーにバインドします。リスナーとコネクターはルーティングキーを使用して照合されます。

コネクターの詳細は、コネクターの概念 を参照してください。

手順

  1. ネットワーク上で公開するワークロードを作成します。以下に例を示します。

    kubectl create deployment backend --image quay.io/skupper/hello-world-backend --replicas 3
    Copy to Clipboard
  2. コネクターを作成します。

    skupper connector create <name> <port> [--routing-key <name>]
    Copy to Clipboard

    以下に例を示します。

    skupper connector create backend 8080 --workload deployment/backend
    Copy to Clipboard
  3. コネクターのステータスを確認します。

    skupper connector status
    Copy to Clipboard

    以下に例を示します。

    $ 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

    📌 注意 デフォルトでは、ルーティングキー名はコネクターの名前に設定されています。カスタムルーティングキーを使用する場合は、--routing-key をカスタム名に設定します。

CLI を使用してコネクターを作成するときに考慮すべきオプションは多数あります。よく使用される オプションなどは、CLI リファレンス を参照してください。

関連情報

別の namespace からサービスを公開する必要がある場合は、YAML を使用して別の namespace のコネクターを作成する の説明に従って YAML を使用する必要があります。

8.2. CLI を使用したリスナーの作成

リスナーは、ローカル接続エンドポイントをリモートサイトのコネクターにバインドします。リスナーとコネクターはルーティングキーを使用して照合されます。

リスナーの詳細は、リスナーの概念 を参照してください。

手順

  1. 使用するコネクターを特定します。そのコネクターのルーティングキーをメモします。
  2. リスナーを作成します。

    skupper connector create <name> <port> [--routing-key <name>]
    Copy to Clipboard

    以下に例を示します。

    $ skupper listener create backend 8080
    Waiting for create to complete...
    Listener "backend" is ready
    Copy to Clipboard
  3. リスナーのステータスを確認します。

    skupper listener status
    Copy to Clipboard

    以下に例を示します。

    $ skupper listener status
    NAME    STATUS  ROUTING-KEY     HOST    PORT    MATCHING-CONNECTOR      MESSAGE
    backend Ready   backend         backend 8080    true                    OK
    Copy to Clipboard

    📌 注意 サービスを動作させるには、一致するコネクター が必要です。デフォルトでは、ルーティングキー名はリスナー名です。カスタムルーティングキーを使用する場合は、--routing-key をカスタム名に設定します。

CLI を使用してコネクターを作成するときに考慮すべきオプションは多数あります。よく使用される オプションなどは、CLI リファレンス を参照してください。

第9章 Kubernetes での YAML CLI の使用の概要

Skupper コントローラーをインストールした後、Kubernetes で YAML を使用できます。

第10章 YAML を使用した Kubernetes でのサイトの作成

YAML を使用すると、現在の namespace のコンテキストからサイトを作成および管理できます。

一般的なワークフローは、サイトを作成し、サイト同士をリンクして、サービスをサービスネットワークに公開することです。

10.1. YAML を使用した Kubernetes での簡単なサイトの作成

YAML を使用して Skupper サイトを作成および管理できます。

前提条件

  • Skupper コントローラーは、実行中の Kubernetes クラスター上で実行されているか、プラットフォーム上で実行されています。

手順

  1. 以下のように、名前が my-site.yaml のサイト CR YAML ファイルを作成します。

    apiVersion: skupper.io/v2alpha1
    kind: Site
    metadata:
      name: my-site
      namespace: west
    Copy to Clipboard

    この YAML は、west namespace に名前が my-site のサイトを作成します。サイトを作成する namespace にコンテキストが設定されている場合、namespace を指定する必要はありません。

  2. サイトを作成します。

    kubectl apply -f my-site.yaml
    Copy to Clipboard
  3. サイトのステータスを確認します。

    kubectl get site
    Copy to Clipboard

    サイトの準備が整う前に、コマンドを複数回発行する必要がある場合があります。

    $ 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

    これで、このサイトを別のサイトにリンクして、アプリケーションネットワークを作成できるようになりました。

YAML を使用してサイトを作成するときに考慮すべきオプションは多数あります。よく使用される オプションなどは、YAML リファレンス を参照してください。

第11章 YAML を使用したアプリケーションネットワーク上のサービスの公開

サイトをリンクしてアプリケーションネットワークを作成した後、コネクターを使用して 1 つのサイトからサービスを公開し、リスナーを使用して他のサイトでそれらのサービスを利用できます。ルーティングキー は、1 つ以上のコネクターと 1 つ以上のリスナーを照合する文字列です。たとえば、ルーティングキー backend を使用してコネクターを作成する場合、そのサービスを利用するには、ルーティングキー backend を使用してリスナーを作成する必要があります。

このセクションでは、少なくとも 2 つのサイトを作成してリンクしていることを前提としています。

11.1. YAML を使用したコネクターの作成

コネクターは、ローカルのワークロードをリモートサイトのリスナーにバインドします。リスナーとコネクターはルーティングキーを使用して照合されます。

YAML を使用してコネクターを作成するときに考慮すべきオプションは多数あります。コネクターリソース を参照してください。

手順

  1. ネットワーク上で公開するワークロードを作成します。以下に例を示します。

    kubectl create deployment backend --image quay.io/skupper/hello-world-backend --replicas 3
    Copy to Clipboard
  2. コネクターリソース YAML ファイルを作成します。

    apiVersion: skupper.io/v2alpha1
    kind: Connector
    metadata:
      name: backend
      namespace: east
    spec:
      routingKey: backend
      selector: app=backend
      port: 8080
    Copy to Clipboard

    これにより、 サイトにコネクターが作成され、ポート 8080 のネットワーク上で backend のデプロイメントが公開されます。一致するルーティングキーの backend を使用して、別のサイトでリスナーを作成し、このサービスに対処できます。

    コネクターリソースを作成するには以下を実行します。

    kubectl apply -f <filename>
    Copy to Clipboard

    <filename> は、ローカルファイルシステムに保存されている YAML ファイルの名前に置き換えます。

  3. コネクターのステータスを確認します。

    kubectl get connector
    Copy to Clipboard

    以下に例を示します。

    NAME    STATUS  ROUTING-KEY     SELECTOR        HOST    PORT    HAS MATCHING LISTENER    MESSAGE
    backend Pending backend         app=backend             8080    false   No matching listeners
    Copy to Clipboard

    📌 注意 デフォルトでは、ルーティングキー名はコネクターの名前に設定されています。カスタムルーティングキーを使用する場合は、--routing-key をカスタム名に設定します。

YAML を使用してコネクターを作成するときに考慮すべきオプションは多数あります。よく使用される オプションなどは、CLI リファレンス を参照してください。

11.2. YAML を使用したリスナーの作成

リスナーは、ローカル接続エンドポイントをリモートサイトのコネクターにバインドします。リスナーとコネクターはルーティングキーを使用して照合されます。

リスナーの詳細は、リスナーの概念 を参照してください。

手順

  1. 使用するコネクターを特定します。そのコネクターのルーティングキーをメモします。
  2. リスナーリソース YAML ファイルを作成します。

    apiVersion: skupper.io/v2alpha1
    kind: Listener
    metadata:
      name: backend
      namespace: west
    spec:
      routingKey: backend
      host: east-backend
      port: 8080
    Copy to Clipboard

    これにより、west サイトにリスナーが作成され、ルーティングキー backend を使用するコネクターとマッチします。また、現在の namespace のポート 8080 で公開されている east-backend という名前のサービスも作成します。

    コネクターリソースを作成するには以下を実行します。

    kubectl apply -f <filename>
    Copy to Clipboard

    <filename> は、ローカルファイルシステムに保存されている YAML ファイルの名前に置き換えます。

  3. リスナーのステータスを確認します。

    kubectl get listener
    Copy to Clipboard

    以下に例を示します。

    NAME      ROUTING KEY   PORT   HOST           STATUS   HAS MATCHING CONNECTOR   MESSAGE
    backend   backend       8080   east-backend   Ready    true                     OK
    Copy to Clipboard

    📌 注意 サービスを動作させるには、一致するコネクター が必要です。

YAML を使用してリスナーを作成するときに考慮すべきオプションは多数あります。リスナーリソース を参照してください。

11.3. YAML を使用した別の namespace のコネクターの作成

コネクターは、ローカルのワークロードをリモートサイトのリスナーにバインドします。

ある namespace にサイトを作成し、別の namespace でサービスを公開する必要がある場合は、この手順を使用して、他の namespace に 接続コネクター を作成し、サイトの namespace に AttachedConnectorBinding を作成します。

  • アタッチされたコネクターは、ピア namespace 内のコネクターであり、サイト namespace のコネクターではありません。
  • AttachedConnectorBinding は、ピア namespace 内の接続されたコネクターへのバインディングであり、サイト namespace に作成されます。

手順

  1. サイト以外の namespace のネットワーク上に公開するワークロードを作成します。以下に例を示します。

    kubectl create deployment backend --image quay.io/skupper/hello-world-backend --replicas 3
    Copy to Clipboard
  2. 同じ namespace に AttachedConnector リソースの YAML ファイルを作成します。

    apiVersion: skupper.io/v2alpha1
    kind: AttachedConnector
    metadata:
      name: backend
      namespace: attached
    spec:
      siteNamespace: skupper
      selector: app=backend
      port: 8080
    Copy to Clipboard

    AttachedConnector リソースを作成するには、以下を実行します。

    kubectl apply -f <filename>
    Copy to Clipboard

    <filename> は、ローカルファイルシステムに保存されている YAML ファイルの名前に置き換えます。

  3. サイトの namespace に AttachedConnectorBinding リソース YAML ファイルを作成します。

    apiVersion: skupper.io/v2alpha1
    kind: AttachedConnector
    metadata:
      name: backend
      namespace: attached
    spec:
      siteNamespace: skupper
      selector: app=backend
      port: 8080
    Copy to Clipboard

    AttachedConnectorBinding リソースを作成するには、以下を実行します。

    kubectl apply -f <filename>
    Copy to Clipboard

    <filename> は、ローカルファイルシステムに保存されている YAML ファイルの名前に置き換えます。

  4. サイト namespace のコンテキストから AttachedConnectorBinding のステータスを確認します。

    kubectl get AttachedConnectorBinding
    Copy to Clipboard

    以下に例を示します。

    NAME      ROUTING KEY   CONNECTOR NAMESPACE   STATUS   HAS MATCHING LISTENER
    backend   backend       attached              Ready    true
    Copy to Clipboard

    📌 注意 デフォルトでは、ルーティングキー名はコネクターの名前に設定されています。カスタムルーティングキーを使用する場合は、--routing-key をカスタム名に設定します。

YAML を使用してコネクターを作成するときに考慮すべきオプションは多数あります。コネクターリソース を参照してください。

第12章 ローカルシステムでの Skupper CLI の概要

これはテクノロジープレビューの機能です。

重要

テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat では、実稼働環境での使用を推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。

第13章 Skupper CLI を使用したローカルシステムでのサイトの作成

skupper コマンドラインインターフェイス (CLI) を使用すると、現在の namespace のコンテキストから Skupper サイトを作成および管理できます。

一般的なワークフローは、サイトを作成し、サイト同士をリンクして、サービスをサービスネットワークに公開することです。

ローカルシステム には、Docker、Podman、または Linux システムが含まれます。

複数のサイトが必要な場合は、skupper を使用するときに一意の namespace を指定します (例: skupper --namespace second-site ...)

13.1. Skupper CLI と環境の確認

skupper コマンドラインインターフェイス (CLI) をインストールすると、Skupper を簡単に使い始めることができます。

  1. Skupper のインストール の手順に従います。
  2. インストールを確認します。

    $  skupper version
    COMPONENT               VERSION
    cli                     {skupper_cli_version}
    Copy to Clipboard
  3. podman サイトの場合:

    Podman ソケットが使用可能であることを確認してください。有効にするには、以下のように設定します。

    systemctl --user enable --now podman.socket
    Copy to Clipboard

    ログアウト後もサイトが存続するようにするには、linger を有効にします。

    loginctl enable-linger <username>
    Copy to Clipboard

13.2. ローカルシステムでの CLI を使用した単純なサイトの作成

前提条件

  • skupper CLI がインストールされている。

手順

  1. インストールするサイトのタイプに応じて SKUPPER_PLATFORM を設定します。

    • podman
    • docker
    • linux
  2. サイトを作成します。

    $ skupper site create <site-name>
    Copy to Clipboard

    以下に例を示します。

    $ skupper site create my-site
    Waiting for status...
    Site "my-site" is ready.
    Copy to Clipboard

📌 注記: Kubernetes 以外のサイトでは、namespace を指定することでユーザーごとに複数のサイトを作成できます。

13.3. ローカルシステムでの CLI を使用したサイトの削除

前提条件

  • skupper CLI がインストールされている。

手順

  1. 以下のコマンドを入力してサイトを削除します。

    skupper system teardown
    Copy to Clipboard

第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 環境変数が podmandockerlinux のいずれかに設定されている。

手順

  1. ネットワーク上で公開するサーバーを作成します。たとえば、ポート 8080 で HTTP サーバーを実行します。
  2. コネクターを作成します。

    skupper connector create <name> <port> [--routing-key <name>]
    Copy to Clipboard

    以下に例を示します。

    skupper connector create my-server 8080 --host localhost
    Copy to Clipboard
  3. コネクターのステータスを確認します。

    skupper connector status
    Copy to Clipboard

    以下に例を示します。

    $ skupper connector status
    NAME		STATUS	ROUTING-KEY	HOST		PORT
    my-server	Ok	my-server	localhost	8081
    Copy to Clipboard

    📌 注意 デフォルトでは、ルーティングキー名はコネクターの名前に設定されています。カスタムルーティングキーを使用する場合は、--routing-key をカスタム名に設定します。

    以下を使用して設定を適用します。

    skupper system reload
    Copy to Clipboard

CLI を使用してコネクターを作成するときに考慮すべきオプションは多数あります。よく使用される オプションなどは、CLI リファレンス を参照してください。

15.2. CLI を使用したリスナーの作成

リスナーは、ローカル接続エンドポイントをリモートサイトのコネクターにバインドします。リスナーとコネクターはルーティングキーを使用して照合されます。

前提条件

  • skupper CLI がインストールされている。
  • SKUPPER_PLATFORM 環境変数が podmandockerlinux のいずれかに設定されている。

手順

  1. 使用するコネクターを特定します。そのコネクターのルーティングキーをメモします。
  2. リスナーを作成します。

    skupper connector create <name> <port> [--routing-key <name>]
    Copy to Clipboard

    以下に例を示します。

    $ skupper listener create my-server 8080
    File written to /home/user/.local/share/skupper/namespaces/default/input/resources/Listener-backend.yaml
    Copy to Clipboard

    以下を使用して設定を適用します。

    skupper system reload
    Copy to Clipboard
  3. リスナーのステータスを確認します。

    skupper listener status
    Copy to Clipboard

    以下に例を示します。

    $ skupper listener status
    NAME		STATUS	ROUTING-KEY	HOST		PORT
    my-server	Ok	my-server	localhost	8081
    Copy to Clipboard

    📌 注意 サービスを動作させるには、一致するコネクターが必要です。デフォルトでは、ルーティングキー名はリスナー名です。カスタムルーティングキーを使用する場合は、--routing-key をカスタム名に設定します。

CLI を使用してコネクターを作成するときに考慮すべきオプションは多数あります。よく使用される オプションなどは、CLI リファレンス を参照してください。

第16章 ローカルシステムでの YAML の使用の概要

これはテクノロジープレビューの機能です。

重要

テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat では、実稼働環境での使用を推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。

第17章 YAML を使用したローカルシステムでのサイトの作成

YAML を使用すると、Docker、Podman、および Linux でサイトを作成および管理できます。

一般的なワークフローは、サイトを作成し、サイト同士をリンクして、サービスをサービスネットワークに公開することです。

複数のサイトが必要な場合は、skupper を使用するときに一意の namespace を指定します (例: skupper --namespace second-site ...)

17.1. YAML を使用したローカルシステムでの簡単なサイトの作成

YAML を使用して Skupper サイトを作成および管理できます。

前提条件

  • skupper CLI がインストールされている。

手順

  1. 空のディレクトリー (例: local) に、名前を my-site.yaml に指定してサイト CR YAML ファイルを作成します。

    apiVersion: skupper.io/v2alpha1
    kind: Site
    metadata:
      name: my-site
    Copy to Clipboard

    この YAML は、default の namespace に名前が my-site のサイトを作成します。

  2. サイトを作成します。

    skupper system setup --path ./local
    Copy to Clipboard

    Skupper は local ディレクトリー内のファイルを処理しようとします。通常、skupper system setup を実行する前に、サイトに必要なすべてのリソースを作成します。

  3. サイトのステータスを確認します。

    skupper site status
    Copy to Clipboard

    サイトの準備が整う前に、コマンドを複数回発行する必要がある場合があります。

    NAME    STATUS  MESSAGE
    default Ready   OK
    Copy to Clipboard

    これで、このサイトを別のサイトにリンクして、アプリケーションネットワークを作成できるようになりました。

YAML を使用してサイトを作成するときに考慮すべきオプションは多数あります。よく使用される オプションなどは、YAML リファレンス を参照してください。

第18章 YAML を使用してローカルシステムでのサイトのリンク

link リソースの YAML ファイルを使用すると、サイト間にリンクを作成できます。リンクの方向は重要ではなく、通常は接続の容易さによって決まります。たとえば、east がファイアウォールの背後にある場合、east から west にリンクするのが最も簡単なオプションです。

サイトがリンクされると、ポートの開放やサイト間の接続の管理なしに、、アプリケーションネットワーク全体でサービスを公開して使用できるようになります。

以下の手順では、既存のサイトへのリンクを説明します。通常、サイト、リンク、サービスを一連のファイルで設定し、すべての YAML ファイルをディレクトリー (たとえば local) に配置して、次のコマンドを使用して設定済みのサイトを作成する方が簡単です。

第19章 YAML を使用したアプリケーションネットワーク上のサービスの公開

サイトをリンクしてアプリケーションネットワークを作成した後、コネクターを使用して 1 つのサイトからサービスを公開し、リスナーを使用して他のサイトでそれらのサービスを利用できます。ルーティングキー は、1 つ以上のコネクターと 1 つ以上のリスナーを照合する文字列です。たとえば、ルーティングキー backend を使用してコネクターを作成する場合、そのサービスを利用するには、ルーティングキー backend を使用してリスナーを作成する必要があります。

このセクションでは、少なくとも 2 つのサイトを作成してリンクしていることを前提としています。

19.1. YAML を使用したコネクターの作成

コネクターは、ローカルのワークロードをリモートサイトのリスナーにバインドします。リスナーとコネクターはルーティングキーを使用して照合されます。

コネクターの詳細は、コネクターの概念 を参照してください。

手順

  1. ネットワーク上で公開するワークロードを作成します。以下に例を示します。

    kubectl create deployment backend --image quay.io/skupper/hello-world-backend --replicas 3
    Copy to Clipboard
  2. コネクターリソース YAML ファイルを作成します。

    apiVersion: skupper.io/v2alpha1
    kind: Connector
    metadata:
      name: backend
      namespace: east
    spec:
      routingKey: backend
      selector: app=backend
      port: 8080
    Copy to Clipboard

    これにより、 サイトにコネクターが作成され、ポート 8080 のネットワーク上で backend のデプロイメントが公開されます。一致するルーティングキーの backend を使用して、別のサイトでリスナーを作成し、このサービスに対処できます。

    コネクターリソースを作成するには以下を実行します。

    kubectl apply -f <filename>
    Copy to Clipboard

    <filename> は、ローカルファイルシステムに保存されている YAML ファイルの名前に置き換えます。

  3. コネクターのステータスを確認します。

    kubectl get connector
    Copy to Clipboard

    以下に例を示します。

    NAME    STATUS  ROUTING-KEY     SELECTOR        HOST    PORT    HAS MATCHING LISTENER    MESSAGE
    backend Pending backend         app=backend             8080    false   No matching listeners
    Copy to Clipboard

    📌 注意 デフォルトでは、ルーティングキー名はコネクターの名前に設定されています。カスタムルーティングキーを使用する場合は、--routing-key をカスタム名に設定します。

YAML を使用してコネクターを作成するときに考慮すべきオプションは多数あります。よく使用される オプションなどは、CLI リファレンス を参照してください。

19.2. YAML を使用したリスナーの作成

リスナーは、ローカル接続エンドポイントをリモートサイトのコネクターにバインドします。リスナーとコネクターはルーティングキーを使用して照合されます。

手順

  1. 使用するコネクターを特定します。そのコネクターのルーティングキーをメモします。
  2. リスナーリソース YAML ファイルを作成します。

    apiVersion: skupper.io/v2alpha1
    kind: Listener
    metadata:
      name: backend
      namespace: west
    spec:
      routingKey: backend
      host: east-backend
      port: 8080
    Copy to Clipboard

    これにより、west サイトにリスナーが作成され、ルーティングキー backend を使用するコネクターとマッチします。また、現在の namespace のポート 8080 で公開されている east-backend という名前のサービスも作成します。

    コネクターリソースを作成するには以下を実行します。

    kubectl apply -f <filename>
    Copy to Clipboard

    <filename> は、ローカルファイルシステムに保存されている YAML ファイルの名前に置き換えます。

  3. リスナーのステータスを確認します。

    kubectl get listener
    Copy to Clipboard

    以下に例を示します。

    NAME      ROUTING KEY   PORT   HOST           STATUS   HAS MATCHING CONNECTOR   MESSAGE
    backend   backend       8080   east-backend   Ready    true                     OK
    Copy to Clipboard

    📌 注意 サービスを動作させるには、一致するコネクター が必要です。

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.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
Copy to Clipboard

リンクを受け入れるように設定されたサイト:

apiVersion: skupper.io/v2alpha1
kind: Site
metadata:
  name: west
  namespace: hello-world-west
spec:
  linkAccess: default
Copy to Clipboard

name 型:文字列

リソースの名前。

Kubernetes object names も参照してください。

namespace 型:文字列

リソースの namespace。

プラットフォームの概念Kubernetes namespacesシステムの namespaces も参照してください。

linkAccess 型: 文字列

リモートサイトからのリンクの外部アクセスを設定します。

サイトとリンクは、アプリケーションネットワークの作成の基礎となります。単純な 2 サイトネットワークでは、少なくとも 1 つのサイトでリンクアクセスが有効になっている必要があります。

Default
none
Choices:: none
このサイトへのリンクは許可されません。
default
現在のプラットフォームにはデフォルトのリンクアクセスを使用します。OpenShift では、デフォルトは route です。他の Kubernetes フレーバーの場合、デフォルトは loadbalancer です。
route
OpenShift ルートを使用します。OpenShift のみ
loadbalancer
Kubernetes ロードバランサーを使用します。
Updatable
True。リンクの概念サイトリンク も参照してください。

ha 型: ブール値

サイトを高可用性 (HA) 用に設定します。HA サイトには 2 つのアクティブルーターがあります。

Skupper ルーターはステートレスであり、障害発生後に再起動することに注意してください。これにより、すでに高可用性レベルが提供されます。HA を有効にすると、再起動によって発生するダウンタイムがさらに短縮されます。

Default
False Updatable:: True。高可用性 も参照してください

defaultIssuer 型: 文字列

トークンからの証明書の生成に使用される署名 CA を含む Kubernetes シークレットの名前。シークレットが指定されていない場合は生成されます。

特定の発行者が設定されていない場合、この発行者は AccessGrant および RouterAccess によって使用されます。

Default
skupper-site-ca
Updatable
True: ルーター TLSKubernetes TLS secrets も参照してください。

edge 型: ブール値

サイトをエッジモードで動作するように設定します。エッジサイトではリモートサイトからのリンクを使用できません。

エッジモードを使用すると、ネットワークを多数のサイトに拡張できます。ただし、16 サイト以下のネットワークの場合、メリットはほとんどありません。

現在、エッジサイトでは HA を有効にできません。

デフォルト
false。大規模ネットワーク も参照してください。

serviceAccount 型:文字列

Skupper ルーターを実行する Kubernetes サービスアカウントの名前。サービスアカウントが指定されていない場合は、サービスアカウントが生成されます。

デフォルト
Generated

Kubernetes service accounts も参照してください。

settings 型: オブジェクト

追加設定を含むマップ。各マップエントリーには、文字列名と文字列値があります。

注記

一般的に、設定をデフォルト値から変更しないことを推奨します。

  • routerDataConnections: ルーターが他のルーターにリンクするときに使用するデータ接続の数を設定します。+ デフォルト: ルーターワーカースレッドの数に基づいて計算されます。最小値は 2 です。
  • routerLogging: ルーターのログレベルを設定します。+ デフォルト: info。選択肢: infowarningerror

リソース設定 も参照してください。

status 型: 文字列

リソースの現在の状態。

  • Pending: リソースは処理中です。
  • Error: リソースの処理に失敗しました。詳細は、message を参照してください。
  • Ready: リソースを使用する準備ができました。

リソースステータス も参照してください。

message 型: 文字列

人間が判読できるステータスメッセージ。エラーメッセージはここで報告されます。

リソースステータス も参照してください。

conditions 型: 配列

リソースの現在の状態を記述する名前付き条件のセット。

  • Configured: このリソースの出力リソースが作成されました。
  • Running: 少なくとも 1 つのルーター Pod が実行中です。
  • Resolved: リンクアクセス用のホスト名または IP アドレスが利用可能です。
  • Ready: サイトは使用できる状態です。その他の条件は true です。

リソースステータスKubernetes conditions も参照してください。

defaultIssuer 型: 文字列

アクティブなデフォルトの署名 CA を含む Kubernetes シークレットの名前。

ルーター TLSKubernetes TLS secrets も参照してください。

endpoints 型: array

接続エンドポイントの配列。各項目には、名前、ホスト、ポート、およびグループが含まれます。

これには、リンクアクセス用の接続エンドポイントが含まれます。

リンクの概念サイトリンク も参照してください。

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
Copy to Clipboard

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/ の配下にあるディレクトリーの名前です。

アプリケーション TLSKubernetes TLS secretsシステム TLS 認証情報 も参照してください。

settings 型: オブジェクト

追加設定を含むマップ。各マップエントリーには、文字列名と文字列値があります。

注記

一般的に、設定をデフォルト値から変更しないことを推奨します。

  • observer: トラフィックメトリクスの生成に使用するプロトコルオブザーバーを設定します。+ デフォルト: auto。選択肢: autononehttp1http2

リソース設定 も参照してください。

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
Copy to Clipboard

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/ の配下にあるディレクトリーの名前です。

アプリケーション TLSKubernetes 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
Copy to Clipboard

リンクを受け入れるように設定されたサイト:

apiVersion: skupper.io/v2alpha1
kind: Site
metadata:
  name: west
  namespace: hello-world-west
spec:
  linkAccess: default
Copy to Clipboard

name 型:文字列

リソースの名前。

Kubernetes object names も参照してください。

namespace 型:文字列

リソースの namespace。

プラットフォームの概念Kubernetes namespacesシステムの namespaces も参照してください。

linkAccess 型: 文字列

リモートサイトからのリンクの外部アクセスを設定します。

サイトとリンクは、アプリケーションネットワークの作成の基礎となります。単純な 2 サイトネットワークでは、少なくとも 1 つのサイトでリンクアクセスが有効になっている必要があります。

デフォルト
none
Choices:: none
このサイトへのリンクは許可されません。
default
現在のプラットフォームにはデフォルトのリンクアクセスを使用します。OpenShift では、デフォルトは route です。他の Kubernetes フレーバーの場合、デフォルトは loadbalancer です。
route
OpenShift ルートを使用します。OpenShift のみ
loadbalancer
Kubernetes ロードバランサーを使用します。
Updatable
True。リンクの概念サイトリンク も参照してください。

ha 型: ブール値

サイトを高可用性 (HA) 用に設定します。HA サイトには 2 つのアクティブルーターがあります。

Skupper ルーターはステートレスであり、障害発生後に再起動することに注意してください。これにより、すでに高可用性レベルが提供されます。HA を有効にすると、再起動によって発生するダウンタイムがさらに短縮されます。

デフォルト
False Updatable:: True。高可用性 も参照してください

defaultIssuer 型: 文字列

トークンからの証明書の生成に使用される署名 CA を含む Kubernetes シークレットの名前。シークレットが指定されていない場合は生成されます。

特定の発行者が設定されていない場合、この発行者は AccessGrant および RouterAccess によって使用されます。

デフォルト
skupper-site-ca
Updatable
True: ルーター TLSKubernetes TLS secrets も参照してください。

edge 型: ブール値

サイトをエッジモードで動作するように設定します。エッジサイトではリモートサイトからのリンクを使用できません。

エッジモードを使用すると、ネットワークを多数のサイトに拡張できます。ただし、16 サイト以下のネットワークの場合、メリットはほとんどありません。

現在、エッジサイトでは HA を有効にできません。

デフォルト
false。大規模ネットワーク も参照してください。

serviceAccount 型:文字列

Skupper ルーターを実行する Kubernetes サービスアカウントの名前。サービスアカウントが指定されていない場合は、サービスアカウントが生成されます。

デフォルト
Generated

Kubernetes service accounts も参照してください。

settings 型: オブジェクト

追加設定を含むマップ。各マップエントリーには、文字列名と文字列値があります。

注記

一般的に、設定をデフォルト値から変更しないことを推奨します。

  • routerDataConnections: ルーターが他のルーターにリンクするときに使用するデータ接続の数を設定します。+ デフォルト: ルーターワーカースレッドの数に基づいて計算されます。最小値は 2 です。
  • routerLogging: ルーターのログレベルを設定します。+ デフォルト: info。選択肢: infowarningerror

リソース設定 も参照してください。

status 型: 文字列

リソースの現在の状態。

  • Pending: リソースは処理中です。
  • Error: リソースの処理に失敗しました。詳細は、message を参照してください。
  • Ready: リソースを使用する準備ができました。

リソースステータス も参照してください。

message 型: 文字列

人間が判読できるステータスメッセージ。エラーメッセージはここで報告されます。

リソースステータス も参照してください。

conditions 型: 配列

リソースの現在の状態を記述する名前付き条件のセット。

  • Configured: このリソースの出力リソースが作成されました。
  • Running: 少なくとも 1 つのルーター Pod が実行中です。
  • Resolved: リンクアクセス用のホスト名または IP アドレスが利用可能です。
  • Ready: サイトは使用できる状態です。その他の条件は true です。

リソースステータスKubernetes conditions も参照してください。

defaultIssuer 型: 文字列

アクティブなデフォルトの署名 CA を含む Kubernetes シークレットの名前。

ルーター TLSKubernetes TLS secrets も参照してください。

endpoints 型: array

接続エンドポイントの配列。各項目には、名前、ホスト、ポート、およびグループが含まれます。

これには、リンクアクセス用の接続エンドポイントが含まれます。

リンクの概念サイトリンク も参照してください。

20.1.2.7. AccessGrant リソース

ローカルサイトへのリンクにアクセストークンを利用するためのパーミッション。リモートサイトは、許可 URL とシークレットコードを含むトークンを使用して、一定の有効期限内かつ使用回数が制限された範囲で、許可の認証局 (CA) によって署名された証明書を取得できます。

リソースステータスの codeurl、および ca プロパティーは、許可からアクセストークンを生成するために使用されます。

name 型:文字列

リソースの名前。

Kubernetes object names も参照してください。

namespace 型:文字列

リソースの namespace。

プラットフォームの概念Kubernetes namespacesシステムの namespaces も参照してください。

redemptionsAllowed 型: 整数

このグラントのアクセストークンを使用できる回数。

デフォルト
1

expirationWindow 型: 文字列 (期間)

このグラントのアクセストークンを使用できる期間。

デフォルト
15m

code 型: 文字列

引き換え用に送信されたアクセストークンを認証するために使用するシークレットコード。

設定されていない場合は、値が生成され、code ステータスプロパティーに配置されます。

issuer 型: 文字列

このグラントのトークンを利用するときに証明書を生成するために使用される Kubernetes シークレットの名前。

設定されていない場合は、Site リソースの defaultIssuer が使用されます。

ルーター TLSKubernetes 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 およびシークレットコードが含まれます。

注記

アクセストークンは、多くの場合、Skupper CLI を使用して 発行 および 引き換え られます。

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
Copy to Clipboard

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/ の配下にあるディレクトリーの名前です。

アプリケーション TLSKubernetes TLS secretsシステム TLS 認証情報 も参照してください。

settings 型: オブジェクト

追加設定を含むマップ。各マップエントリーには、文字列名と文字列値があります。

注記

一般的に、設定をデフォルト値から変更しないことを推奨します。

  • observer: トラフィックメトリクスの生成に使用するプロトコルオブザーバーを設定します。+ デフォルト: auto。選択肢: autononehttp1http2

リソース設定 も参照してください。

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
Copy to Clipboard

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/ の配下にあるディレクトリーの名前です。

アプリケーション TLSKubernetes 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/ の配下にあるディレクトリーの名前です。

アプリケーション TLSKubernetes 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]
Copy to Clipboard
フィールド

Platforms

Kubernetes、Docker、Podman、Linux

表20.1 サブコマンド
コマンド説明

Site create

サイトを作成します。

Site update

サイト設定を変更します。

Site delete

サイトを削除します。

Site status

サイトのステータスを表示します。

Site generate

Site リソースを生成します。

20.1.4.1.2. Site create コマンド
skupper site create <name> [options]
Copy to Clipboard

サイトを作成します。

フィールド

Platforms

Kubernetes、Docker、Podman、Linux

Waits for

Ready

# 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
Copy to Clipboard

プライマリーオプション

<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]
Copy to Clipboard

サイトの設定を変更します。

フィールド

Platforms

Kubernetes、Docker、Podman、Linux

Waits for

Ready

# 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
Copy to Clipboard

プライマリーオプション

[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]
Copy to Clipboard

サイトを削除します。

フィールド

Platforms

Kubernetes、Docker、Podman、Linux

Waits for

Deletion

# 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
Copy to Clipboard

プライマリーオプション

[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]
Copy to Clipboard

サイトのステータスを表示します。

フィールド

Platforms

Kubernetes、Docker、Podman、Linux

# Show the status of the current site
$ skupper site status
Name:      west
Status:    Ready
Message:   -
Copy to Clipboard

プライマリーオプション

[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]
Copy to Clipboard

Site リソースを生成します。

フィールド

Platforms

Kubernetes、Docker、Podman、Linux

# 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
Copy to Clipboard

プライマリーオプション

<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]
Copy to Clipboard
フィールド

Platforms

Kubernetes、Docker、Podman、Linux

表20.2 サブコマンド
コマンド説明

Token issue

現在のサイトへのリンクと引き換え可能なトークンファイルを発行します。

Token redeem

トークンファイルを利用してリモートサイトへのリンクを作成します。

20.1.5.1.2. Token issue コマンド
skupper token issue <file> [options]
Copy to Clipboard

現在のサイトへのリンクと引き換え可能なトークンファイルを発行します。

このコマンドは、トークンを発行するために最初にアクセス許可を作成します。

トークンを発行するには、リンクアクセスが有効になっているサイトが必要です。このコマンドは、サイトが準備完了状態になるまで待機し、トークンを生成します。

フィールド

Platforms

Kubernetes

Waits for

Ready

# 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
Copy to Clipboard

プライマリーオプション

<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]
Copy to Clipboard

リモートサイトへのリンクを作成するには、トークンファイルを参照します。

フィールド

Platforms

Kubernetes、Docker、Podman、Linux

# 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.
Copy to Clipboard

プライマリーオプション

<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.6. CLI Group: サービスの公開

20.1.6.1. Listener の使用
20.1.6.1.1. Listener コマンド
skupper listener [subcommand] [options]
Copy to Clipboard
フィールド

Platforms

Kubernetes、Docker、Podman、Linux

表20.4 サブコマンド
コマンド説明

Listener create

リスナーを作成します。

Listener update

リスナーを更新します。

Listener delete

リスナーを削除します。

Listener status

現在のサイトのリスナーのステータスを表示します。

Listener generate

リスナーリソースを生成します。

20.1.6.1.2. Listener create コマンド
skupper listener create <name> <port> [options]
Copy to Clipboard

リスナーを作成します。

フィールド

Platforms

Kubernetes、Docker、Podman、Linux

Waits for

Configured

# 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
Copy to Clipboard

プライマリーオプション

<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]
Copy to Clipboard

リスナーを更新します。

フィールド

Platforms

Kubernetes、Docker、Podman、Linux

Waits for

Configured

# 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
Copy to Clipboard

プライマリーオプション

<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]
Copy to Clipboard

リスナーを削除します。

フィールド

Platforms

Kubernetes、Docker、Podman、Linux

Waits for

Deletion

# Delete a listener
$ skupper listener delete database
Waiting for deletion...
Listener "database" is deleted.
Copy to Clipboard

プライマリーオプション

<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]
Copy to Clipboard

現在のサイトのリスナーのステータスを表示します。

フィールド

Platforms

Kubernetes、Docker、Podman、Linux

# 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
Copy to Clipboard

プライマリーオプション

[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]
Copy to Clipboard

Listener リソースを生成します。

フィールド

Platforms

Kubernetes、Docker、Podman、Linux

# 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
Copy to Clipboard

プライマリーオプション

<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]
Copy to Clipboard
フィールド

Platforms

Kubernetes、Docker、Podman、Linux

表20.5 サブコマンド
コマンド説明

Connector create

コネクターを作成します。

Connector update

コネクターを更新します。

Connector delete

コネクターを削除します。

Connector status

現在のサイトのコネクターの状態を表示します。

Connector generate

コネクターリソースを生成します。

20.1.6.2.2. Connector create コマンド
skupper connector create <name> <port> [options]
Copy to Clipboard

コネクターを作成します。

フィールド

Platforms

Kubernetes、Docker、Podman、Linux

Waits for

Configured

# 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
Copy to Clipboard

プライマリーオプション

<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]
Copy to Clipboard

コネクターを更新します。

フィールド

Platforms

Kubernetes、Docker、Podman、Linux

Waits for

Configured

# 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
Copy to Clipboard

プライマリーオプション

<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]
Copy to Clipboard

コネクターを削除します。

フィールド

Platforms

Kubernetes、Docker、Podman、Linux

Waits for

Deletion

# Delete a connector
$ skupper connector delete database
Waiting for deletion...
Connector "database" is deleted.
Copy to Clipboard

プライマリーオプション

<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]
Copy to Clipboard

現在のサイトのコネクターのステータスを表示します。

フィールド

Platforms

Kubernetes、Docker、Podman、Linux

# 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
Copy to Clipboard

プライマリーオプション

[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]
Copy to Clipboard

Connector リソースを生成します。

フィールド

Platforms

Kubernetes、Docker、Podman、Linux

# 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
Copy to Clipboard

プライマリーオプション

<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]
Copy to Clipboard

Skupper コンポーネントのバージョンを表示します。

フィールド

Platforms

Kubernetes、Docker、Podman、Linux

# 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
Copy to Clipboard

プライマリーオプション

--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

ヘルプを表示して終了します。

法律上の通知

Copyright © 2025 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat