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>.yamlCopy 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>.yamlCopy 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>.yamlCopy 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>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow ここでは、以下のようになります。
- <filename>
-
VirtualMachineマニフェスト YAML ファイルの名前を指定します。
OSA カードを使用して IBM Z® 上で OpenShift Virtualization を実行する場合、OSA カードは OSA デバイスに登録されているデバイスにのみネットワークトラフィックを転送することに注意してください。その結果、未登録のデバイス宛のトラフィックは転送されません。