20141216
一、Ubuntu設定、更新並下載套件
1. 增加本機名稱
$ sudo vim /etc/hosts
127.0.0.1 localhost
127.0.1.1 ubuntu14
2. 增加DNS server(此步可省略) $ sudo vim /etc/resolv.conf nameserver 140.115.1.31
3. 更新系統 $ sudo apt-get update $ sudo apt-get upgrade
4. 使用root身分 $ sudo -s
5. 安裝openstack api client端套件
- apt-get install -y python-keystoneclient
- apt-get install -y python-glanceclient
- apt-get install -y python-neutronclient
- apt-get install -y python-novaclient
- apt-get install -y python-cinderclient
二、設定環境變數 1. 改回一般user身分
- exit或按ctrl-D
2. 編輯.openrc檔案 ,設定環境變數 $ vim .openrc export OS_USERNAME=center65 export OS_PASSWORD=center65 export OS_TENANT_NAME=center65-project export OS_AUTH_URL=http://140.115.17.183:5000/v2.0
$ source .openrc
開始安裝 認證資料取得 $ keystone token-get $ keystone token-get | awk '{ print $2 }' $ keystone token-get | awk '/ user_id / { print $4 }' $ keystone token-get | awk '/ tenant_id / { print $4 }'
三、網路資訊及設定 1. 查看網路、子網路、路由器 $ neutron net-list $ neutron subnet-list $ neutron router-list
2. 產生網路、子網路、路由器 $ neutron net-create my-net $ neutron subnet-create --name my-subnet --dns-nameserver 8.8.8.8 my-net 10.5.5.0/24 $ neutron router-create my-router
3. my-router加入內部網路卡介面 $ neutron router-interface-add my-router my-subnet
4. 查看外網 $ neutron net-external-list
5. my-router設定外網閘道 $ neutron router-gateway-set my-router cloud-net
6. 查看my-router路由器網路卡介面 $ neutron router-port-list my-router
四、建立虛擬機前的準備動作 1. 查看有哪些樣版 $ nova flavor-list
2. 查看有哪些映像檔 $ glance image-list
3. 查看有哪些密鑰對 $ nova keypair-list
4. 產生公鑰(前面有講解過) $ ssh-keygen
5. 新增密鑰對 $ nova keypair-add --pub-key ~/.ssh/id_rsa.pub my-key
7. 查看安全性群組 $ nova secgroup-list
8. 新增allow-remote安全群組 $ nova secgroup-create allow-remote "Allow SSH/RDP"
9. 允許22與3389port通過防火牆 $ nova secgroup-add-rule allow-remote tcp 22 22 0.0.0.0/0 $ nova secgroup-add-rule allow-remote tcp 3389 3389 0.0.0.0/0
五、建立虛擬機 1. 指令 $ nova boot --flavor m1.small --image ubuntu-14.04-x86_64 \ --security-groups allow-remote \ --key-name my-key \ --nic net-id=$(nova net-list | awk '/ my-net / { print $2 }') \ my-instance
2. 寫成一行 $ nova boot --flavor m1.small --image ubuntu-14.04-x86_64 --security-groups allow-remote --key-name my-key --nic net-id=$(nova net-list | awk '/ my-net / { print $2 }') my-instance
六、取得IP 1. 查看有哪些浮動IP $ neutron floatingip-list
2. 取得IP $ neutron floatingip-create cloud-net
3. 將剛才要的浮動IP,與instance聯結 $ nova floating-ip-associate my-instance 140.115.0.30
七、新增儲存空間 1. 查看有哪些儲存空間 $ cinder list $ cinder quota-show $(keystone token-get | awk '/ tenant_id / { print $4 }')
2. 新增儲存空間 $ cinder create --display-name='vdisk' 1
3. 掛載儲存空間 $ nova volume-attach my-instance xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx(識別號)
八、查詢開啟虛擬機console的url $ nova get-vnc-console my-instance novnc
九、透過sprac主機遠端連線 ssh ubuntu@140.115.0.30
十、其他補充 1. 可以查看更多指令 $ nova help|more
2. 查看有哪些instance $ nova list
3. instance 停止 $ nova pause my-instance