---
# System prepended metadata

title: 安裝OpenStack並建虛擬機

---

# 安裝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是一個自由、開源的雲端運算平台，但安裝及設定流程有些複雜。





