ベアメタルからクラウドへ:OVNの紹介

Auto Draft

これまでの記事では、Linux BridgeやOpen vSwitchプラグインを使用したOpenStackの関連アーキテクチャを紹介してきました。今回は、比較的新しく、アーキテクチャも異なるNeutronプラグインであるOVNを紹介します。

概要

OVNは、OVSを通じて仮想ネットワークを構築する分散型SDNコントローラーと言えます。以下に、OVNが提供する主な機能を紹介します。

  • L2およびL3オーバーレイを通じてOVSに抽象化レイヤーを提供し、同時に物理ネットワークとの接続を管理します。
  • OVSコネクショントラッキングを利用して実現される柔軟なACLをサポートします。
  • OVS flowによって実現される分散L3ルーティングをサポートし、IPv4とIPv6の両方に対応しています。
  • OVSコネクショントラッキングを利用したNATおよびロードバランシング。
  • 分散型DHCP。
  • デフォルトのLinuxカーネルデータパスやDPDKなど、すべてのOVSデータパスをサポートしています。
  • 仮想ネットワークから物理ネットワークへのL3ゲートウェイをサポートしています。
  • ソフトウェアベースのL2ゲートウェイをサポート
  • 第2層オーバーレイネットワークを必要とせずに、VMとVM上で動作するコンテナ間の接続を提供できます。

OVNにはOpenStack Neutronのプラグイン実装(networking-ovn)があるだけでなく、Kubernetes向けのCNIプラグインも提供されています。

元件

OVNは以下のコンポーネントで構成されています:

  • OVN Northbound Database
  • ovn-northd
  • OVN Southbound Database
  • ovn-controller
  • ovs-vswitchd
  • ovsdb-server

OVN Northbound Database

OVN Northbound Databaseは、CMS(Cloud Management System)からのネットワーク設定を受け取る役割を担います。CMSはOpenStackやKubernetes、あるいはその他のサポートされているシステムです。

ovn-northd

ovn-northdは、アップストリームのOVN Northbound DatabaseとダウンストリームのOVN Southbound Databaseを接続します。これは、OVN Northbound Database内の一般的なネットワーク概念(ルーター、スイッチなど)に基づいた論理設定を、OVN Southbound Database内の論理データパスフローに変換する役割を担います。

OVN Southbound Database

OVN Southbound Databaseは、OVNアーキテクチャ全体の核となる部分であり、上位ではovn-northdに、下位ではすべてのノード上のovn-controllerに接続されています。

OVN Southbound Databaseには、以下の3種類のデータが保存されます:

  • 物理ネットワーク(PN)テーブル:ハイパーバイザーや他のノードへの到達方法に関するデータが格納されています。
  • 論理ネットワーク(LN)テーブル:northdによって提供され、論理データパスフローを通じて記述された仮想ネットワークを格納します。
  • Binding tables:儲存虛擬網路元件跟實體網路之間的關係

ハイパーバイザーはPN(Physical Network)およびPort Bindingテーブルのデータを提供し、ovn-northdはLogical Network (LN)テーブルのデータを提供します。

ovn-controller

ovn-controller(8)は、各ハイパーバイザー上で動作するOVNのエージェントおよびソフトウェアゲートウェイです。OVN Southbound Databaseに接続してOVNの設定と状態を把握し、PNおよびPort Bindingテーブルのデータを提供します。

また、ovs-vswitchdとovsdb-serverは、もともとOVSに備わっているコンポーネントです。一方はネットワークトラフィックの制御を、もう一方はOpen vSwitchの設定の監視と管理を担当します。

アーキテクチャ

ovn-architecture

まとめ

以上がOVNの概要とその構成コンポーネントです。次回の記事では、OVNをOpenStackと連携させる方法について紹介します。

参考文献


著作権表示:特に断りのない限り、本ブログのすべての記事はCC BY-NC-SA 4.0ライセンスの下で提供されています。

コメントを残す