前の数回では、Linux BridgeとOpen vSwitchプラグインを使用したOpenStackの関連アーキテクチャを紹介しました。今回は、比較的新しく、アーキテクチャも異なるNeutronプラグインであるOVNを紹介します。概要:OVNは、OVSを通じて仮想ネットワークを構築する分散型SDNコントローラーと言えます。以下にOVNが提供する機能の一部を挙げます。L2およびL3オーバーレイを通じてOVSに抽象化レイヤーを提供し、同時に物理ネットワークとの接続を管理できます。OVSのコネクショントラッキングを利用した柔軟なACLをサポート。OVSフローを通じて実現される分散型L3ルーティングをサポートし、IPv4とIPv6の両方に対応。OVSコネクショントラッキングを利用したNATとロードバランシング。分散型DHCP […]
ベアメタルからクラウドへ:OpenStack Neutron の紹介 — OVS セルフサービスネットワーク
前回の記事では、Open vSwitch with Provider Networksのアーキテクチャとパケットフローを紹介しました。今回は、Open vSwitch with self-service networksについて紹介します。Open vSwitch: Self-service Networks アーキテクチャ。上の図は、Open vSwitch – Self-service networks構成におけるアーキテクチャ全体の概要です。どのコンポーネントがコントローラーノードで動作し、どれがコンピュートノード、どれがネットワークノードで動作しているかを確認できます。この図は、単一のuntagged (flat) provider networkと単一のself-service networksにおいて、使用されるコンポーネントがどのように接続されているかを示しています。この例では、インスタンスとDHCPエージェントが同じノードにありますが、実際の状況ではDHCPエージェントは他のコンピュートノードにある可能性があります。トラフィックフロー […]
ベアメタルからクラウドへ:OpenStack Neutron の紹介 — OVS プロバイダーネットワーク
前回の記事では、異なる状況下でのNeutron Linux Bridgeプラグインのアーキテクチャとフローを紹介しました。これからの数日間は、OVSプラグイン使用時のアーキテクチャとトラフィックの流れについて紹介します。まず最初の記事として、Open vSwitch with Provider Networkを紹介します。Open vSwitch: Provider networks アーキテクチャ。上の図は、Linux Bridge – Provider Networks構成におけるアーキテクチャ全体の概要です。どのコンポーネントがコントローラーノードで動作し、どれがコンピュートノードで動作しているかを確認できます。この図は、単一のprovider network (untagged/flat) において、コンピュートノード内のコンポーネントがどのように接続されているかを示しています。この例では、インスタンスとDHCPエージェントが同じノードにありますが、実際の状況ではDHCPエージェントは他のコンピュートノードにある可能性があります。複数のProvider networksがある場合 […]
ベアメタルからクラウドへ:OpenStack Neutron の紹介 — Linux Bridge – セルフサービスネットワーク
前回の記事では、Linux Bridge with Provider Networkのアーキテクチャとパケットフローを紹介しました。今回は、Linux Bridge with self-service networksについて紹介します。Linux bridge: Self-service Networks。Self-service networksは、ユーザーにほぼ無制限の数の仮想ネットワークを提供します。NeutronはVLAN self-service networksもサポートしていますが、この例ではVXLAN self-service networksを例に説明します。アーキテクチャ。上の図は、Linux Bridge – Self-service networks構成におけるアーキテクチャ全体の概要です。どのコンポーネントがコントローラーノードで動作し、どれがコンピュートノード、どれがネットワークノードで動作しているかを確認できます。この図は、単一のprovider networkにおいて、self-service networksで使用されるコンポーネントがどのように接続されているかを示しています。この例では、インスタンスとDHCP […]
ベアメタルからクラウドへ:OpenStack Neutron 紹介 — Linux Bridge Provider Networks
上篇介紹了 Neutron 的架構,再接下來幾天會介紹 Neutron 使用 Linux Bridge 跟 OVS plug-in 時的架構以及流量是怎麼流的。首先第一篇筆者會先來介紹 Linux Bridge with Provider Network。 Linux bridge: Provider networks Provider network 架構示例使用 VLAN (802.1q) tagging 在實例 (instance) 和實體網路基礎設施之間提供 L2 連接。 它支援一個 non-tagged(扁平)網路和多達 4095 個 tagging (VLAN) 網路。 VLAN 網路的實際數量取決於物理網絡基礎設施。 架構 上圖為 Linux Bridge – Provider Networts 架構下的整個架構總覽,可以看到那些元件是跑在 controller node 上,哪些是在 compute node 上。 這張圖畫出了在單一 […]
ベアメタルからクラウドへ:OpenStack Neutron 紹介 3
上一篇介紹了 Neutron 的網路的概念,接下來將會接續介紹 Neutron 的一些名詞。 Neutron 概念 (名詞) Subnets (子網) Subnets 是一組 IP 地址和其相關的設定狀態,其功能是為 provider/project networks 提供 IPAM(IP 地址管理)的功能。 子網用於在網絡上創建連接埠時分配 IP 地址。 Subnet pools 使用者通常可以使用任何有效的 IP 地址創建子網,而沒有其他限制。 但是,在某些情況下,管理員或 project 會希望預先定義一個地址池 (IP address pool),使在創毽子網的時候自動分配一段地址。在一些狀況下管理員可能想避免 IP 地址重複,就可以使用 subnet pools 防止來自同一池的兩個子網的地址重複。 Port (連接埠) 連接埠是將單個設備(例如虛擬伺服器的 NIC)連接到虛擬網路的連接點。 該連接埠還描述了相關的網路設定,例如要在該連接埠上使用的 MAC 和 IP 地址。 路由器 (Router) 路由器提供虛擬的 L3 功能,例如self-service 跟 provider 網路之間或是 […]
ベアメタルからクラウドへ:OpenStack Neutron 紹介 2
上一篇介紹了 Neutron 的架構,接下來兩篇將會接續介紹 Neutron 的一些概念和名詞。 Neutron 概念 Neutron 提供使用者創建網路跟其子網域,並可將其他 OpenStack 服務(如 Compute)將虛擬設備連接到這些網路上的端口,通常最常見的就是連接 Instance 到網路。Neutron 支援每個 project 擁有多個私有網絡,並允許 project 選擇自己的 IP addressing 方案,並且不同網路中的 IP 地址與其他 project 使用的 IP 地址重疊。 有兩種類型的網絡,provider network 和 self-service network,這些網路是可以在 project 之間共享的。 Provider Networks Provider networks 為實例 (Instance) 提供 L2 網路連結,並支援 DHCP 和元數據 (metadata) 服務。 這些網路是連接到資料中心現有的 L2 網路,通常使用 VLAN (802.1q) tagging 來識別和隔離它們。 […]
ベアメタルからクラウドへ:OpenStack Neutron 紹介 1
昨天為讀者介紹目前 OpenStack 中算是最核心的元件,Keystone,今天來介紹 OpenStack 筆者認為最複雜的原件,Neutron,也是 OpenStack 提供網路服務的元件。 Neutron 架構 OpenStack Networking (neutron) 允許您創建網路介面 (network interface) 並接上其他 OpenStack 元件管理的服務 (如 Nova VM),使其能夠連接到網絡。可以透過不同的後端 plugin 去因應不同的網絡設備和軟體,為 OpenStack 架構和部署提供靈活性。 它包括以下組件: Neutron-server 接受 API 請求並將其路由到適當的 OpenStack Networking 插件以進行操作。 OpenStack Networking 後端 plug-ins 和 agents 插入和拔除端口,創建網絡或子網路,並提供 IP 位置。這些 plug-ins 和 agents 根據不同的雲中使用的供應商和技術而異。常見的 plug-ins 為 OVS, Linux Bridge 和 OVN,後續會介紹其架構。 常見的 agents […]
ベアメタルからクラウドへ:OpenStack Keystone 紹介
上一篇介紹了歷史最悠久的 OpenStack 元件 Nova,這篇要來介紹目前 OpenStack 中算是最核心的元件,Keystone Keystone 是什麼? 官方文件中是這樣敘述的: Keystone 是一個 OpenStack 服務,通過實現 OpenStack 的 Identity API 來提供 API 客戶端認證、服務發現 (service discovery) 和分散式多租戶授權 (distributed multi-tenant authorization)。 簡單來講,你可以把它當成 OpenStack 中的認證服務,並且記錄了所有 OpenStack API 的所在位置 (endpoint)。 Keystone 架構 Keystone 是由多個不同的內部服務 (internal service) 組成,而這些服務通常是組合在一起使用。例如:一個認證的請求首先會透過 Identity 服務驗證使用者提供的 credentials,成功後透過 Token 服務生成一個 token 給使用者。 Keystone 包含了以下服務: Identity Resource Assignment Token Catalog 我們將一一介紹這些服務的功能。 […]
ベアメタルからクラウドへ:OpenStack 紹介 2
前回の記事では、非技術的な視点から OpenStack プロジェクトを紹介しました。今回からは、より技術的な視点で OpenStack を紹介していきます。まず本記事では、OpenStack を構成するコンポーネントの概要を説明し、続く数記事で各コンポーネントについて詳しく解説していく予定です。

