# 安裝OpenStack並建虛擬機 **1.緣由** 記錄安裝 OpenStack 並建置虛擬機的過程 **2.系統簡介** OpenStack是一個自由、開源的雲端運算平台。它主要作為基礎設施即服務(IaaS)部署在公用雲和私有雲中,提供虛擬伺服器和其他資源給使用者使用。 **3.安裝過程** 1.建立名為stack的使用者 ``` sudo useradd -s /bin/bash -d /opt/stack -m stack ``` 2.給予root權限 ``` echo "stack ALL=(ALL) NOPASSWD: ALL" | sudotee /etc/sudoers.d/stack sudo su - stack ``` 3.安裝git套件 ``` sudo apt-get install -y git ``` 4.下載 devstack ``` git clone https://git.openstack.org/openstack-dev/devstack ``` 5.建立local.conf 檔案 ``` cd devstack vim local.conf ``` 6.local.conf內容 ``` [[local|localrc]] ADMIN_PASSWORD="password" DATABASE_PASSWORD=$ADMIN_PASSWORD RABBIT_PASSWORD=$ADMIN_PASSWORD SERVICE_PASSWORD=$ADMIN_PASSWORD HOST_IP=10.2.200.205 ``` 7.安裝openstack ``` ./stack.sh ``` 8.安裝完成後,進入 http://10.2.200.205/dashboard ![](https://hackmd.io/_uploads/B1uXy0yr2.png) **開始進行設定** **新增public網路** ![](https://hackmd.io/_uploads/Bk2_1ufB3.png) **創建路由器** 設置一端連外網(PUBLIC),然後在路由器內新增網路卡設置連接到子網(SHARED)。 ![](https://hackmd.io/_uploads/rk9AJ_MHh.png) **改變安全性群組的規則** 預設群組的規則僅允許所有對外連線,對內連線全部禁止。因此需要新增規則,允許SSH以及ping連入。 在選單中選擇 "Security group”,按下"Add new rule",新增允許所有TCP port 22 (SSH) 連入。 同上,新增允許所有ICMP連入。 **新增可用的浮動IP** 若要允許非雲端上的機器連入虛擬機,則需要為虛擬機連結浮動 IP。因此,需要新增可用的浮動 IP。 在選單中選擇 “Floating IP”,按下 “Allocate floating IP to project”,並按下 “Allocate IP”。 **使用openstack建置虛擬機** 本次作業使用的是cirros image 雲端硬碟可視情況添加 本次使用的硬體模板是m1.small **使用虛擬機** ![](https://hackmd.io/_uploads/rkIJZ0yrn.png) **ssh連線到openstack上的虛擬機** ssh cirros @10.2.200.201 密碼則是cirros預設的gocubsgo ![](https://hackmd.io/_uploads/H1-jldfBn.png) **4.結論** OpenStack是一個自由、開源的雲端運算平台,但安裝及設定流程有些複雜。