VPCクラスタにおける仮想ネットワークインターフェースの理解

仮想プライベートクラウド 4.20 その後 ベアメタルワーカーノードのみ

Virtual Network Interfaces (VNI) は、ベアメタルワーカーノードを持つ Red Hat OpenShift on IBM Cloud VPC クラスタ上で実行されるワークロードに、高度なネットワーク接続オプションを提供します。

仮想ネットワーク・インターフェイスとは?

仮想ネットワーク・インターフェイス(VNI)は、 IBM Cloud VPCの抽象化で、個々のネットワーク接続を表します。 VNIは、以下のようなネットワーク接続のプロパティを埋め込む:

  • IPアドレス(プライマリおよびセカンダリ)
  • MAC アドレス
  • VPCサブネットの関連付け
  • セキュリティ・グループのメンバー

VNI は、 Red Hat CoreOS (RHCOS) を実行するベアメタルワーカーノードを持つクラスタでのみ利用可能です。

OpenShift クラスタにおけるVNIアーキテクチャ

静的VNI

IBM Cloud VPC でベアメタルベースの Red Hat OpenShift on IBM Cloud クラスタを作成したり、新しいベアメタル ワーカープールを追加したりすると、自動的に 2 つの VNI が作成され、各ベアメタルワーカーノードにアタッチされます:

プライマリーVNI
ポッドネットワーク、オーバーレイユーザ定義ネットワーク (UDN)、クラスタマスタとの通信を含む、通常のワーカートラフィックを処理します。
セカンダリーVNI(キャリア)
管理するダイナミックVNIアタッチメントのキャリアとして機能する。 このVNIにより、ワーカーノード上で動作するワークロードに、追加のネットワークインタフェースをアタッチすることができます。

ダイナミックVNI

動的VNIは、クラスタ作成後にオンデマンドで作成および管理されます。 これらのVNIは次のようなものである:

  • 特定のワーカーノードに接続
  • 同じゾーン内のワーカー間でフローティングするように設定されている
  • VPCネットワークの直接接続に使用

主要な機能

直接VPC接続
VNIは、ポッドネットワークのオーバーレイをバイパスして、ワークロードがVPCネットワークに直接接続できるようにします。 これは、セキュリティ・グループ、ネットワークACL、ルーティングなどのネイティブVPCネットワーク機能を提供する。
セキュリティ・グループの統合
VNIはVPCセキュリティ・グループと関連付けることができ、インターフェース・レベルでのきめ細かなネットワーク・アクセス制御を実現します。
ゾーン別ネットワーク
VNIは特定のVPCサブネットとゾーンにアタッチされる。 VNIは、VNIがプロビジョニングされた同じゾーン内のクラスターワーカー上で動作するワークロードのトラフィックのみを処理することができます。
移行中のネットワーク保全
ライブマイグレーションをサポートするワークロード( OpenShift 仮想化 VM など)については、VNI は同一ゾーン内のベアメタルワーカーインスタンス間でワークロードを暗黙的にフローティングして追従し、ネットワーク接続を維持することができます。

ユース・ケース

OpenShift バーチャリゼーション
仮想マシンの直接VPCネットワーク接続を有効にし、VMが独自のVPC IPアドレスを持てるようにします。 OpenShift 仮想化の仮想ネットワークインターフェースの管理 」を参照。
マルチネットワークのワークロード
ワークロードを複数のVPCサブネットに同時に接続し、複雑なネットワーク・トポロジーとトラフィックの分離を可能にします。
レガシー・アプリケーションの移行
特定のIPアドレスや直接ネットワークアクセスを必要とするコンテナ型アプリケーションに、 VM ライクなネットワーキングを提供する。
ネットワーク機能仮想化
VPCネットワーク機能への直接アクセスを必要とするネットワーク機能を展開する。

制限と考慮事項

スタティックVNIの修正
各ワーカーノードに自動的に作成される静的VNIを変更しないでください。 これらのVNIはVPC アカウント表示されますが、設定の変更はサポートされていません。 これには、 フローティングIPアタッチ、セキュリティ・グループの変更、その他のVNIプロパティの変更が含まれる。 静的VNIを変更すると、クラスタ接続の問題が発生することがあります。
フローティング・アタッチメントのVNI修正制限
フローティング(クラスタ・スコープ)ダイナミック・アタッチメントのVNIプロパティは変更できません。 これには、VNI名、 フローティングIP アドレス、インフラストラクチャNAT設定、およびセキュリティ・グループ割り当ての変更が含まれます。 これらの設定を更新するには、まずVNIを切り離して変更を加え、クラスタに再接続する必要があります。 この制限は一時的なものである。
ゾーンの制約
VNIはゾーン間でフローティングすることはできない。 マルチゾーン・クラスタでは、VNIはVNIがプロビジョニングされた同じゾーン内のワークロードのトラフィックしか処理できません。
ベアメタル要件
VNIはベアメタルワーカーノードでのみサポートされます。 仮想サーバーインスタンス(VSI)ワーカーノードはVNIをサポートしていません。
RHCOSの要件
ワーカーノードは、 Red Hat CoreOS (RHCOS)オペレーティングシステムを実行する必要があります。
OVN- Kubernetes CNI
クラスタは OVN- Kubernetes Container Network Interface (CNI) プラグインを使用する必要があります。
アカウントアカウント管理
Red Hat OpenShift on IBM Cloud では、ワーカーノードはあなたのアカウント IBM のアカウントプロビジョニングされます。 つまり、VNIのライフサイクル管理はスタンドアロンのVPCベアメタルインスタンスとは異なり、VNIのアタッチメントに対する可視性も異なります。
バージョン要件
VNIのサポートには OpenShift 4.20 以降が必要。

前提条件

クラスタでVNIを使用する前に、以下のことを確認してください:

  • 4.20 以降の Red Hat OpenShift on IBM Cloud クラスタ
  • クラスタのベアメタルワーカーノード
  • Red Hat CoreOS (RHCOS)オペレーティングシステムをワーカーノードに搭載する
  • OVN- Kubernetes CNIを設定
  • 適切なサブネットを持つVPCインフラストラクチャ
  • Operator プラットフォームアクセスロールは Kubernetes ServiceIBM Cloud IAM
  • IBM Cloud IAMのVPCインフラストラクチャ・サービスの編集者または管理者プラットフォーム・アクセス・ロール

VNIの管理

VNI は IBM Cloud コンソールまたは CLI から管理できます。

コンソールからVNIを取り付ける

  1. Red Hat OpenShift on IBM Cloud クラスター・コンソールから、クラスターを選択します。

  2. ナビゲーション・メニューで、 Networking > VNI attachmentsをクリックする。

  3. VNIのアタッチ] をクリックする。

  4. Attach VNIs パネルで、以下の設定を行う:

    • サブネット :VNIが配置されているサブネットを選択します。
    • ワーカーノード :特定のワーカーノードを選択するか、フローティングVNIアタッチメントの場合はすべてのワーカーノードを選択します。
    • VNI :アタッチするVNIを選択する。
    • VLAN ID :ネットワーク構成に合ったVLAN ID(範囲:1~500)を入力します。
    • 自動削除 :オプション。 クラスタから削除されたVNIを自動的に削除する場合に選択します。
  5. **「アタッチ」**をクリックします。

CLIからVNIをアタッチする

特定のベアメタルワーカーノードにVNIをアタッチするには、 vni attach baremetal コマンドを使用します。 ネットワーク構成に合ったVLAN ID(範囲:1~500)を指定する必要があります。

ibmcloud ks vni attach baremetal --worker WORKER_ID --vni VNI_ID --vlan VLAN_ID [--auto-delete]

同一ゾーン内のワーカー間でワークロードを追跡できるフローティングVNIをアタッチするには、ワーカーIDの代わりにクラスタIDを指定します:

ibmcloud ks vni attach baremetal --cluster-id CLUSTER_ID --vni VNI_ID --vlan VLAN_ID [--auto-delete]

--auto-delete フラグは、VNIがクラスタから削除されると自動的に削除されます。

コンソールからのVNI添付ファイルの表示

  1. Red Hat OpenShift on IBM Cloud クラスター・コンソールから、クラスターを選択します。

  2. ナビゲーション・メニューで、 Networking > VNI attachmentsをクリックする。

  3. VNI名、ワーカーノード、サブネット、VLAN ID、プライマリIPなどの詳細とともに、アタッチされたVNIのリストを表示します。

CLIからのVNIアタッチメントの表示

クラスタに接続されているすべてのVNIを一覧表示します:

ibmcloud ks vni ls --cluster-id CLUSTER_ID

特定のワーカーノードに接続されているVNIを一覧表示する:

ibmcloud ks vni ls --worker WORKER_ID

コンソールからVNIを切り離す

  1. Red Hat OpenShift on IBM Cloud クラスター・コンソールから、クラスターを選択します。

  2. ナビゲーション・メニューで、 Networking > VNI attachmentsをクリックする。

  3. 切り離したいVNIを見つけて、アクションメニューアイコン(⋯)をクリックします。

  4. Detachを選択し、動作を確認する。

CLIからVNIをデタッチする

ワーカーノードからVNIを切り離すには、VNI IDとワーカーIDの両方を指定する:

ibmcloud ks vni detach --worker WORKER_ID --vni VNI_ID

フローティングVNIの場合、まずVNIをリストアップして現在のワーカーIDを見つけ、そのワーカーIDを使ってデタッチする。

より詳細な例と使用例については、 OpenShift 仮想化の仮想ネットワーク・インターフェースの管理を 参照してください。

次のステップ