前面討論了 Neutron 的架構和基礎知識,接下來就要經過實驗深刻學習和實踐了。web
第一步就是準備實驗用的物理環境,考慮以下幾個問題:網絡
須要幾個節點? 架構
如何分配節點的角色? 學習
節點上部署哪些服務? spa
配幾個網卡? orm
物理網絡如何鏈接?router
咱們的目的是經過實驗學習 Neutron 的各類特性。 爲了達到這個目的,實驗環境應儘可能貼近典型的部署方案;但同時,因爲是我的學習使用,受物理條件的限制須要儘可能利用有限的資源,因此咱們採用下面的部署方案: 資源
Q:須要幾個節點? A:2 節點 = 1 控制節點 + 1 計算節點 路由
Q:如何分配節點的角色? A:控制節點合併了網絡節點的功能,同時也是一個計算節點 部署
Q:節點上部署哪些服務? A:如上圖
OpenStack 至少包含下面幾類網絡流量
Management
API
VM
External
Management 網絡
用於節點之間 message queue 內部通訊以及訪問 database 服務,全部的節點都須要鏈接到 management 網絡。
API 網絡
OpenStack 各組件經過該網絡向用戶暴露 API 服務。Keystone, Nova, Neutron, Glance, Cinder, Horizon 的 endpoints 均配置在 API 網絡上。
一般,管理員也經過 API 網絡 SSH 管理各個節點。
VM 網絡
VM 網絡也叫 tenant 網絡,用於 instance 之間通訊。 VM 網絡能夠選擇的類型包括 local, flat, vlan, vxlan 和 gre。 VM 網絡由 Neutron 配置和管理。
External 網絡
External 網絡指的是 VM 網絡以外的網絡,該網絡不禁 Neutron 管理。 Neutron 能夠將 router attach 到 External 網絡,爲 instance 提供訪問外部網絡的能力。 External 網絡多是企業的 intranet,也多是 internet。
這幾類網絡只是邏輯上的劃分,物理實現上有很是大的自由度。
咱們能夠爲每種網絡分配單獨的網卡; 也能夠多種網絡共同使用一個網卡; 爲提升帶寬和硬件冗餘,可使用 bonding 技術將多個物理網卡綁定成一個邏輯的網卡
咱們的實驗環境採用下面的網卡分配方式:
控制節點 3 網卡(eth0, eth1, eth2),計算節點 2 網卡(eth0, eth1) 合併 Management 和 API 網絡,使用 eth0,IP 段爲 192.168.104.0/24 VM 網絡使用 eht1 控制節點的 eth2 與 External 網絡鏈接,IP 段爲 10.10.10.0/24
實驗環境的網絡拓撲以下圖所示
分割線上方的網絡由網絡管理員(就是咱們啦)配置。 主要涉及 Management, API 和 external 網絡。 配置的內容包括節點上的物理網卡,物理交換機和外部路由器,防火牆以及物理連線等
分割線下方主要是 VM 網絡,由 Neutron 管理。 咱們只須要經過 Web GUI 或者 CLI 操做,Neutron 會負責實現。
下一節咱們將安裝和配置控制節點和計算節點。