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を取り付ける
-
Red Hat OpenShift on IBM Cloud クラスター・コンソールから、クラスターを選択します。
-
ナビゲーション・メニューで、 Networking > VNI attachmentsをクリックする。
-
VNIのアタッチ] をクリックする。
-
Attach VNIs パネルで、以下の設定を行う:
- サブネット :VNIが配置されているサブネットを選択します。
- ワーカーノード :特定のワーカーノードを選択するか、フローティングVNIアタッチメントの場合はすべてのワーカーノードを選択します。
- VNI :アタッチするVNIを選択する。
- VLAN ID :ネットワーク構成に合ったVLAN ID(範囲:1~500)を入力します。
- 自動削除 :オプション。 クラスタから削除されたVNIを自動的に削除する場合に選択します。
-
**「アタッチ」**をクリックします。
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添付ファイルの表示
-
Red Hat OpenShift on IBM Cloud クラスター・コンソールから、クラスターを選択します。
-
ナビゲーション・メニューで、 Networking > VNI attachmentsをクリックする。
-
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を切り離す
-
Red Hat OpenShift on IBM Cloud クラスター・コンソールから、クラスターを選択します。
-
ナビゲーション・メニューで、 Networking > VNI attachmentsをクリックする。
-
切り離したいVNIを見つけて、アクションメニューアイコン(⋯)をクリックします。
-
Detachを選択し、動作を確認する。
CLIからVNIをデタッチする
ワーカーノードからVNIを切り離すには、VNI IDとワーカーIDの両方を指定する:
ibmcloud ks vni detach --worker WORKER_ID --vni VNI_ID
フローティングVNIの場合、まずVNIをリストアップして現在のワーカーIDを見つけ、そのワーカーIDを使ってデタッチする。
より詳細な例と使用例については、 OpenShift 仮想化の仮想ネットワーク・インターフェースの管理を 参照してください。