仮想ネットワーク (OVN)
仮想ネットワーク機能は、Open Virtual Network(OVN)上にソフトウェア定義ネットワーク(SDN)を構築します。OVSブリッジが単一ホスト上にスイッチを提供するのに対し、OVNはデプロイメント内のすべてのホストにまたがるスイッチとルーターを提供し、IPアドレス割り当て、ファイアウォール、ロードバランシングを一度定義するだけで全体に適用できます。
物理トポロジーから独立したテナントネットワークが必要な場合(仮想マシンが移行しても追従するサブネット、アドレス範囲が重複する複数テナントの分離、単一の制御されたアドレスを経由したインターネットへのエグレスなど)に利用します。
この機能には、Network > OVN からアクセスできます。
OVSとの関係
OVNはOpen vSwitchを置き換えるものではなく、それを制御・駆動(ドライブ)します。各ホストはOVS統合ブリッジ(br-int)を保持し、OVNがその中にフローをプログラムします。物理アップリンク、ボンド、ブリッジレベルの設定には引き続きOVSページを使用し、その上位にある論理ネットワークにはOVNページを使用します。
実際の実装上の注意点として、OVNワークロードを実行するすべてのホストにはOVSクライアント(ovs-vsctl)が必要です。Vaporはこれを使用して仮想マシンのインターフェースを br-int にアタッチします。Vaporはアクティベーション中にこれを確認し、OVNステータスカードに報告します。
基本構成要素 (Building Blocks)
論理スイッチ (Logical switch)
レイヤー2のブロードキャストドメインです。同じ論理スイッチに接続されたポートは、どのホスト上に存在していても相互に直接通信できます(OVNがGeneveトンネルを介してホスト間のトラフィックを伝送します)。論理スイッチは通常1つのサブネットを保持します。
論理スイッチポート (Logical switch port)
論理スイッチ上の単一のアタッチポイントです(仮想マシンのインターフェース、コンテナ、ルーター接続など)。ポートはMACアドレスと1つ以上のIPアドレスを保持し、OVNの内蔵DHCPサーバーからアドレスを取得することもできます。
論理ルーター (Logical router)
論理スイッチ間を接続するレイヤー3ルーターです。接続された各サブネットにデフォルトゲートウェイを提供し、NATルール、静的ルート、ルーティングポリシーが設定される場所となります。
VPC
論理ルーターとそれに接続されたスイッチをまとめた便利なビューであり、「ルーター、そのサブネット、およびDHCP」を1つの単位として扱うことができます。VPCを作成すると、ルーター、最初のサブネットの論理スイッチ、それらを接続するルーターポート、および(指定された場合)そのサブネット用のDHCPオプションが同時に作成されます。VPCs ページには各VPCとそれを支えるルーターが一覧表示されるため、デバッグ時に Logical Routers ページといつでも相互参照できます。
VPCは包括的なビュー(レンズ)であり、独立した別個のオブジェクトではありません。作成されたすべてのリソースは、個別のページでも引き続き確認・編集できます。
シャーシ (Chassis)
データプレーンに参加するホストです。OVNワークロードを実行するすべてのハイパーバイザーは、自身の system-id で識別されるシャーシとして登録され、トンネルのエンドポイントとなるIPアドレスを通知します。
各ページで提供される機能
| ページ | 目的 |
|---|---|
| VPCs | ルーターと最初のサブネットをワンステップで作成および削除 |
| Logical Switches | サブネット、そのCIDRとDHCPの状態、およびスイッチごとのトポロジービュー |
| Logical Switch Ports | すべてのアタッチポイント、アドレス、およびOVNによるバインド状態 |
| Logical Routers | ルーターポート、静的ルート、ルーティングポリシー、NATルール |
| Load Balancers | バックエンドプールを持つ仮想IP、および複数のスイッチに一括適用するグループ |
| QoS & Meters | ポートごとの帯域制限とDSCPマーキング、ルールのログ流量制限に使用されるメーター |
| Security Groups | ポートグループ、アドレスセット、およびそれらに適用されるACL |
| DHCP Options | ポートに提供されるアドレスプールとオプション |
| DNS | 論理ネットワーク内で応答されるホスト名レコード |
| Chassis | 参加しているホストとそのトンネルエンドポイントの一覧 |
| Topology | スイッチ、ルーター、ポートの視覚的マップ |
開始する前に
これらのページを機能させるには、まずホスト上でOVNをアクティベートする必要があります。アクティベーションによってOVNデータベースの場所が記録され、そのホストのシャーシが構成されます。詳細は 仮想ネットワークのアクティベーション を参照してください。
サポートされているデプロイメント形態は以下の3つです:
- Vaporネイティブ (Vapor-native) — Vapor自体が単一ホストまたはクラスターとしてOVNデータベースを実行します。スタンドアロンのVaporデプロイメントに推奨されます。Vaporネイティブクラスター を参照してください。
- 既存の外部OVN (Existing external OVN) — 他の環境ですでに
ovn-centralが稼働しており、Vaporがクライアントおよびシャーシとして参加します。 - 既存のkube-ovnクラスター (Existing kube-ovn cluster) — VaporがKubernetes CNIに属するOVNデータベースを共有します。これにはいくつかの制約事項があります。選択する前にアクティベーションガイドのモード3のセクションをお読みください。