2015年1月14日 星期三

三主機安裝 OpenStack Juno(一):安裝環境介紹

記錄一下安裝 OpenStack Juno 的過程。其實大體上都是遵照官方文件去做的,只是把一些流程整合起來而已
除了一開始安裝 Identity 的時候有一大票的指令(指令基本上是參考 [2] 做微調而來的,不過其實內容也就是官方文件的統整)
整合最多的大概都是改設定文件的動作。
官方文件為了簡要解釋每個動作的用意,把很多編輯同一個設定檔的動作都分開寫~
所以照個文件一個指令一個動作,其實是有點繁雜~
但反過來說,如果想知道每個設定是做什麼用的,建議還是應該回頭去看官方文件上的說明(還有設定檔上的註解)。

這次記錄的部分,會跟官方文件的安裝教學一樣,分成 Controller Node、Compute Node 以及 Network Node
實際會安裝的東西為 Keystone、Glance、Nova 以及 Neutron。
基於我自己之前安裝時常有的困擾,盡可能會在這些記錄文章裡寫下當下的硬體、軟體環境。


    環境介紹
    網路環境配置


    圖片節錄自官方文件 [3]

    遵照官方文件中有關最小安裝的需求,我借到的伺服器有三台,其中一台是單網卡、另外兩台是三網卡,線路的配置如下圖。
    其中為了怕影響到實體的網路環境,我將 OpenStack 配置在一個 Class B 的虛擬網段,因此網段中能夠存取網際網路的 IP 會是 10.5.*.*。


    比較需要注意的大概是線路配置有包含實體的網路切割
    也就是圖中所指的 Public Network、Administrative Network 和 Tunnel Network 是無法互相存取的三個網路
    其中 Public Network 是可以連上網際網路的公有網路,另外兩個是完全無法對外連線的內部區域網路。

    Administrative Network 的用途是讓 Compute Node 和 Network Node 跟 Controller Node 溝通的網段
    因為安裝時官方文件的配置是把所有管理用的服務全都裝在 Controller Node 上,所以其他節點都必須跟 Controller Node 溝通、回報狀況。

    Tunnel Network 則是讓 OpenStack 的 Neutron 服務轉送虛擬機器的網路存取要求用的
    亦即實際上虛擬機器要跟網際網路溝通,在使用 Neutron 提供網路服務的狀況下,並不是直接從 Nova 的對外網路連接
    而是將訊息通過 Tunnel Network 轉送到 Network Node,從 Network Node 往外送到網際網路。

    題外話,上圖這樣的架構中,整套裝完以後實際上如果想要從網際網路透過 SSH 連上 OpenStack 的任意節點
    實際上只能連上圖中的 Compute Node(即 10.5.17.3)。
    雖然 Network Node 也有連接對外網路,但因為那張網卡最後會作為 Open vSwitch 的橋接介面,所以它綁的 IP 等功能會全數失效。

    軟體環境
    基於我自己習慣用 Ubuntu 的關係,所以全程都是 Ubuntu 14.04.1 的作業系統。

    安裝流程
    三主機安裝 OpenStack Juno(二):安裝 Controller Node
    三主機安裝 OpenStack Juno(三):安裝 Compute Node
    三主機安裝 OpenStack Juno(四):安裝 Network Node

    參考資料:
    1、OpenStack Installation Guide for Ubuntu 14.04
    2、Ubuntu 12.04 Openstack Essex 安装(单节点)
    3、Example architectures

    沒有留言: