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