10.4. 仮想マシンをセカンダリー localnet ユーザー定義ネットワークに接続する


CLI を使用して、仮想マシン (VM) を OVN-Kubernetes localnet セカンダリーネットワークに接続できます。クラスター管理者は、ClusterUserDefinedNetwork (CUDN) カスタムリソース定義 (CRD) を使用して、複数の namespace にわたって共有 OVN-Kubernetes ネットワークを作成できます。

OVN-Kubernetes のセカンダリーネットワークは、マルチネットワークポリシー API と互換性があり、仮想マシンとの間のトラフィックフローを制御するための MultiNetworkPolicy カスタムリソース定義 (CRD) を提供します。詳細は、「関連情報」を参照してください。

重要

特定の CIDR ブロックのネットワークポリシーの Ingress および Egress ルールを定義するには、ipBlock 属性を使用する必要があります。Pod または namespace セレクターポリシーピアの使用はサポートされていません。

localnet トポロジーは、セカンダリーネットワークを物理アンダーレイに接続します。これにより、east-west クラスタートラフィックとクラスター外で実行されているサービスへのアクセスの両方が可能になります。ただし、クラスターノード上の基盤となる Open vSwitch (OVS) システムの追加設定が必要です。

10.4.1. CLI を使用して localnet トポロジー用のユーザー定義ネットワークを作成する

CLI を使用して、localnet ネットワークトポロジーのセカンダリークラスタースコープユーザー定義ネットワーク (CUDN) を作成できます。

前提条件

  • cluster-admin 権限を持つユーザーとしてクラスターにログインしている。
  • OpenShift CLI (oc) がインストールされている。
  • Kubernetes NMState Operator がインストールされている。

手順

  1. NodeNetworkConfigurationPolicy オブジェクトを作成して、OVN-Kubernetes セカンダリーネットワークを Open vSwitch (OVS) ブリッジにマッピングします。

    NodeNetworkConfigurationPolicy マニフェストの例:

    apiVersion: nmstate.io/v1
    kind: NodeNetworkConfigurationPolicy
    metadata:
      name: mapping
    spec:
      nodeSelector:
        node-role.kubernetes.io/worker: ''
      desiredState:
        ovn:
          bridge-mappings:
          - localnet: localnet1
            bridge: br-ex
            state: present
    • metadata.name は、設定オブジェクトの名前を指定します。
    • spec.nodeSelector は、ノードネットワーク設定ポリシーが適用されるノードを指定します。推奨されるノードセレクター値は node-role.kubernetes.io/worker: '' です。
    • spec.desiredState.ovn.bridge-mappings.localnet は、 トラフィックが OVS ブリッジに転送される追加ネットワークの名前を指定します。この属性は、OVN-Kubernetes 追加ネットワークを定義する ClusterUserDefinedNetwork オブジェクトの spec.network.localnet.physicalNetworkName フィールドの値と一致する必要があります。この例では、localnet1 という名前を使用します。
    • spec.desiredState.ovn.bridge-mappings.bridge は、ノード上の OVS ブリッジの名前を指定します。state 属性が present または指定されていない場合は、この値は必須です。
    • spec.desiredState.ovn.bridge-mappings.state は、 マッピングの状態を指定します。マッピングを追加するには 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? を参照してください。

  2. 次のコマンドを実行して、NodeNetworkConfigurationPolicy マニフェストを適用します。

    $ oc apply -f <filename>.yaml

    ここでは、以下のようになります。

    <filename>
    NodeNetworkConfigurationPolicy マニフェスト YAML ファイルの名前を指定します。
  3. localnet セカンダリーネットワークを作成するために、ClusterUserDefinedNetwork オブジェクトを作成します。

    ClusterUserDefinedNetwork マニフェストの例:

    apiVersion: k8s.ovn.org/v1
    kind: ClusterUserDefinedNetwork
    metadata:
      name: cudn-localnet
    spec:
      namespaceSelector:
        matchExpressions:
        - key: kubernetes.io/metadata.name
          operator: In
          values: ["red", "blue"]
      network:
        topology: Localnet
        localnet:
            role: Secondary
            physicalNetworkName: localnet1
            ipam:
              mode: Disabled
    # ...
    • metadata.name は、 ClusterUserDefinedNetwork カスタムリソースの名前を指定します。
    • spec.namespaceSelector は、クラスター UDN が適用される名前空間のセットを指定します。namespace セレクターは、defaultopenshift-* namespace、または Cluster Network Operator (CNO) によって定義されたグローバル namespace の値を指すことはできません。
    • spec.namespaceSelector.matchExpressions は セレクターのタイプを指定します。この例では、matchExpressions セレクターは、ラベル kubernetes.io/metadata.name と値 red または blue を持つオブジェクトを選択します。
    • spec.namespaceSelector.matchExpressions.operator は 演算子の型を指定します。可能な値は InNotInExists です。
    • spec.network.topology は、ネットワークのトポロジー設定を指定します。Localnet トポロジーは、論理ネットワークを物理アンダーレイに接続します。
    • spec.network.localnet.role は、UDN がプライマリーかセカンダリーかを指定します。topology: Localnet の場合、必要な値は Secondary です。
    • spec.network.localnet.physicalNetworkName は、ノード上で設定されている OVN-Kubernetes ブリッジマッピングの名前を指定します。この値は、以前に作成した NodeNetworkConfigurationPolicy マニフェストの spec.desiredState.ovn.bridge-mappings.localnet フィールドと一致する必要があります。これにより、意図した物理ネットワークのセグメントに確実にブリッジできます。
    • spec.network.localnet.ipam.mode は、IP アドレス管理 (IPAM) が有効か無効かを指定します。必要な値は Disabled です。OpenShift Virtualization は、仮想マシンの IPAM の設定をサポートしません。
  4. 次のコマンドを実行して、ClusterUserDefinedNetwork マニフェストを適用します。

    $ oc apply -f <filename>.yaml

    ここでは、以下のようになります。

    <filename>
    ClusterUserDefinedNetwork マニフェスト YAML ファイルの名前を指定します。
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2026 Red Hat
トップに戻る