---
# System prepended metadata

title: Untitled

---

安裝OpenStack並建置虛擬機

**1.緣由**：
雲端技術實務課程作業需求
**2.系統簡介**：
在ubuntu上安裝openstack並建置虛擬機器
**3.安裝過程**：
依照上課投影片內容
* 讓系統更新
輸入**sudo apt-get update**
輸入**sudo apt-get upgrade -y**
* 為系統創建新增一個叫stack的新用戶
輸入**sudo useradd -s /bin/bash -d /opt/stack -m stack**
輸入**echo “stack ALL=(ALL) NOPASSWD: ALL” | sudo tee /etc/sudoers.d/stack**
(使stack這個用戶可以有root的權限，並且不用密碼也能運行)
* 登入stack用戶
輸入**sudo su - stack**
* 安裝git套件
輸入**sudo apt-get install -y git**
* 從儲存庫clone devstack到系統裡
輸入**git clone https://git.openstack.org/openstackdev/devstack**
* 進到devstack資料夾中
輸入**cd devstack**
* 查自己的IP
輸入**ifconfig (or ip addr show)**
* 用vim建立一個叫local.conf的文件
輸入**vim local.conf**
* 文件要打的內容為以下
[[local|localrc]]
#Password for KeyStone, Database, RabbitMQ and Service
ADMIN_PASSWORD=StrongAdminSecret
DATABASE_PASSWORD= $ADMIN_PASSWORD
RABBIT_PASSWORD= $ADMIN_PASSWORD
SERVICE_PASSWORD= $ADMIN_PASSWORD
#Host IP - get your Server/VM IP address from ip addr command
HOST_IP=填入剛剛查到的IP
* 安裝openstack
輸入**./stack.sh**
* 用**http://"your ip"/dashboard 登入openstack**
* source opencr必須在shell中(跳出警告請忽略它)
輸入**source opencr**
* 下載virtual image
輸入**wget http://download.cirroscloud.net/0.5.2/cirros-0.5.2-x86_64-disk.img**
* 上傳virtual image到Glance
輸入**openstack image create**
**-container-format bare**
**–disk-format qcow2**
**–file cirros-0.5.2-x86_64-disk.img**
**-Cirros-0.5.2**
* 確認virtual image上傳成功
輸入**openstack image list**
下面步驟參考http://godleon.blogspot.com/2014/10/openstack-ubuntu-1404-6-vm.html
* 產生金鑰
輸入**ssh-keygen**
![](https://i.imgur.com/9WTlgrl.png)
* 將生成的金鑰家道openstack環境中，並設定為admin-key
輸入**nova keypair-add --pub-key /opt/stack/.ssh/id_rsa.pub admin-key**
* 確認公開金鑰已匯入openstack
輸入**nova keypair-list**
![](https://i.imgur.com/5IFDL6n.png)
* 這邊使用m1.tiny
輸入**openstack flavor list**
![](https://i.imgur.com/oqwTjno.png)
* 這邊使用cirros-0.5.2-x86_64-disk
![](https://i.imgur.com/WUHL3kM.png)
輸入**neutron net-list**
![](https://i.imgur.com/eFsGhCq.png)
* 這邊使用shared name
輸入**openstack security group list**
![](https://i.imgur.com/RiDcWIb.png)
* 輸入下圖的指令以啟動VM instance
![](https://i.imgur.com/3obZxzd.png)
* 完成後，nova scheduler會找到合適compute node來啟動VM instance
* 檢查VM instance狀態
輸入**nova list**
![](https://i.imgur.com/2j3xTZ9.png)
輸入**nova get-vnc-console "your instance's name" novnc**
![](https://i.imgur.com/5QZJNUU.png)
* 拿到上圖的網址之後，就能透過網頁瀏覽器以noVNC連線到VM instance。
* 登入
輸入**hostname**
![](https://i.imgur.com/QxxVn0K.png)
**可以看到hostname為自己的學號**
**4.結論**
這次作業除了上課投影片之外還需要額外上網查資料才能實作，更不用說遠距之後實作又更麻煩了。





