11.4. 仮想マシンをセカンダリー localnet ユーザー定義ネットワークに接続する
CLI を使用して、仮想マシン (VM) を OVN-Kubernetes localnet セカンダリーネットワークに接続できます。クラスター管理者は、ClusterUserDefinedNetwork
(CUDN) カスタムリソース定義 (CRD) を使用して、複数の namespace にわたって共有 OVN-Kubernetes ネットワークを作成できます。
OVN-Kubernetes セカンダリーネットワークは、マルチネットワークポリシー API と互換性があります。この API は、仮想マシンとの間のトラフィックフローを制御するための MultiNetworkPolicy
というカスタムリソース定義 (CRD) を提供します。
特定の CIDR ブロックのネットワークポリシーの Ingress および Egress ルールを定義するには、ipBlock
属性を使用する必要があります。Pod または namespace セレクターポリシーピアの使用はサポートされていません。
localnet トポロジーは、セカンダリーネットワークを物理アンダーレイに接続します。これにより、east-west クラスタートラフィックとクラスター外で実行されているサービスへのアクセスの両方が可能になります。ただし、クラスターノード上の基盤となる Open vSwitch (OVS) システムの追加設定が必要です。
11.4.1. CLI を使用して localnet トポロジー用のユーザー定義ネットワークを作成する リンクのコピーリンクがクリップボードにコピーされました!
CLI を使用して、localnet ネットワークトポロジーのセカンダリークラスタースコープユーザー定義ネットワーク (CUDN) を作成できます。
前提条件
-
cluster-admin
権限を持つユーザーとしてクラスターにログインしている。 -
OpenShift CLI (
oc
) がインストールされている。 - Kubernetes NMState Operator がインストールされている。
手順
NodeNetworkConfigurationPolicy
オブジェクトを作成して、OVN-Kubernetes セカンダリーネットワークを Open vSwitch (OVS) ブリッジにマッピングします。NodeNetworkConfigurationPolicy
マニフェストの例Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 設定オブジェクトの名前。
- 2
- Node Network Configuration Policy が適用されるノードを指定します。推奨されるノードセレクター値は
node-role.kubernetes.io/worker: ''
です。 - 3
- トラフィックを OVS ブリッジに転送する追加ネットワークの名前。この属性は、OVN-Kubernetes 追加ネットワークを定義する
ClusterUserDefinedNetwork
オブジェクトのspec.network.localnet.physicalNetworkName
フィールドの値と一致する必要があります。この例では、localnet1
という名前を使用します。 - 4
- ノード上の OVS ブリッジの名前。
state
属性がpresent
または指定されていない場合は、この値は必須です。 - 5
- マッピングの状態。マッピングを追加するには
present
に、マッピングを削除するにはabsent
にする必要があります。デフォルト値はpresent
です。
重要OpenShift Virtualization は、Linux ブリッジボンディングモード 0、5、および 6 をサポートしていません。詳細は、Which bonding modes work when used with a bridge that virtual machine guests or containers connect to? を参照してください。
次のコマンドを実行して、
NodeNetworkConfigurationPolicy
マニフェストを適用します。oc apply -f <filename>.yaml
$ oc apply -f <filename>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ここでは、以下のようになります。
- <filename>
-
NodeNetworkConfigurationPolicy
マニフェスト YAML ファイルの名前を指定します。
localnet セカンダリーネットワークを作成するには、
ClusterUserDefinedNetwork
オブジェクトを作成します。ClusterUserDefinedNetwork
マニフェストの例Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
ClusterUserDefinedNetwork
カスタムリソースの名前。- 2
- クラスター UDN が適用される namespace のセット。namespace セレクターは、
default
、openshift-*
namespace、または Cluster Network Operator (CNO) によって定義されたグローバル namespace の値を指すことはできません。 - 3
- セレクターのタイプ。この例では、
matchExpressions
セレクターは、ラベルkubernetes.io/metadata.name
と値red
またはblue
を持つオブジェクトを選択します。 - 4
- Operator のタイプ。可能な値は
In
、NotIn
、Exists
です。 - 5
- ネットワークのトポロジー設定。
Localnet
トポロジーは、論理ネットワークを物理アンダーレイに接続します。 - 6
- UDN がプライマリーかセカンダリーかを指定します。
topology: Localnet
の場合、必要な値はSecondary
です。 - 7
- ノード上で設定されている OVN-Kubernetes ブリッジマッピングの名前。この値は、以前に作成した
NodeNetworkConfigurationPolicy
マニフェストのspec.desiredState.ovn.bridge-mappings.localnet
フィールドと一致する必要があります。これにより、意図した物理ネットワークのセグメントに確実にブリッジできます。 - 8
- IP アドレス管理 (IPAM) が有効化または無効化されているかを指定します。必要な値は
Disabled
です。OpenShift Virtualization は、仮想マシンの IPAM の設定をサポートしません。
次のコマンドを実行して、
ClusterUserDefinedNetwork
マニフェストを適用します。oc apply -f <filename>.yaml
$ oc apply -f <filename>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ここでは、以下のようになります。
- <filename>
-
ClusterUserDefinedNetwork
マニフェスト YAML ファイルの名前を指定します。
11.4.2. CLI を使用してセカンダリーユーザー定義ネットワークの namespace を作成する リンクのコピーリンクがクリップボードにコピーされました!
CLI を使用して、既存のセカンダリークラスタースコープユーザー定義ネットワーク (CUDN) で使用する namespace を作成できます。
前提条件
-
cluster-admin
パーミッションを持つユーザーとしてクラスターにログインしている。 -
OpenShift CLI (
oc
) がインストールされている。
手順
次の例のような
Namespace
オブジェクトを作成します。Namespace
マニフェストの例apiVersion: v1 kind: Namespace metadata: name: red # ...
apiVersion: v1 kind: Namespace metadata: name: red # ...
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、
Namespace
マニフェストを適用します。oc apply -f <filename>.yaml
oc apply -f <filename>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ここでは、以下のようになります。
- <filename>
-
Namespace
マニフェスト YAML ファイルの名前を指定します。
11.4.3. CLI を使用して仮想マシンをセカンダリーユーザー定義ネットワークに接続する リンクのコピーリンクがクリップボードにコピーされました!
インターフェイスバインディングを設定することで、仮想マシン (VM) を複数のセカンダリークラスタースコープユーザー定義ネットワーク (CUDN) に接続できます。
前提条件
-
OpenShift CLI (
oc
) がインストールされている。
手順
次の例に示すように、
VirtualMachine
マニフェストを編集して、CUDN インターフェイスの詳細を追加します。VirtualMachine
マニフェストの例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、
VirtualMachine
マニフェストを適用します。oc apply -f <filename>.yaml
$ oc apply -f <filename>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ここでは、以下のようになります。
- <filename>
-
VirtualMachine
マニフェスト YAML ファイルの名前を指定します。
OSA カードを使用して IBM Z® 上で OpenShift Virtualization を実行する場合、OSA カードは OSA デバイスに登録されているデバイスにのみネットワークトラフィックを転送することに注意してください。その結果、未登録のデバイス宛のトラフィックは転送されません。