如何藉助OpenStack命令行工具管理虛擬機?

如何藉助OpenStack命令行工具管理虛擬機?

2014-04-16 10:44 布加迪編譯 51CTO.com 字號:T | T
一鍵收藏,隨時查看,分享好友!

OpenStack是一個基於行業的開源雲管理平臺。人們可以使用OpenStack,輕鬆構建公共雲、私有云或混合雲。本文中我們將演示如何從命令行,在OpenStack上創建或終止虛擬機。

AD:51CTO學院:IT精品課程在線看!


【51CTO精選譯文】OpenStack是一個基於行業的開源雲管理平臺。人們可以使用OpenStack,輕鬆構建公共雲、私有云或混合雲。由於這個平臺具有純粹的開放性,包括Red Hat、Rackspace、IBM和惠普在內的各大IT廠商都看好其前景,積極推動OpenStack的發展。

OpenStack中有兩種不同的界面用來管理雲資源。一個是通過Horizon(https://github.com/openstack/horizon/),這是基於Web的OpenStack儀表板;另一個就是通過OpenStack命令行接口(CLI)。

我在本教程中將演示如何從命令行,在OpenStack上創建或終止虛擬機。這個過程是在Havana版本的OpenStack中進行測試的。至於像OpenStack Folsom這些早期的OpenStack版本,你只要將本教程所用的命令行中的“neutron”換成“quantum”即可。

姑且假設部署的一套OpenStack系統已在某處構建並運行起來。我要使用OpenStack CLI客戶程序,在現有的OpenStack系統上管理虛擬機。

安裝OpenStack CLI客戶程序

第一步就是安裝必要的OpenStack命令行客戶程序:

在Debian、Ubuntu或Linux Mint上,執行這個命令:

  1. $ sudo apt-get install python-pip

  2. $ sudo pip install python-novaclient python-keystoneclient python-neutronclient

在CentOS、Fedora或RHEL上,執行這個命令:

  1. $ sudo yum install python-pip

  2. $ sudo pip install python-novaclient python-keystoneclient python-neutronclient

設定環境變量

爲了能夠使用OpenStack CLI客戶程序,你就要設定必要的環境變量。爲此,創建一個名爲openrc.sh的腳本,如下所示。

  1. $ sudo vi openrc.sh export OS_USERNAME=dan

  2. export OS_PASSWORD=my_password

  3. export OS_TENANT_NAME=demo

  4. export OS_AUTH_URL=http://192.168.10.10:5000/v2.0

在上述腳本中,OS_USERNAME/OS_PASSWORD是OpenStack用戶名及密碼。OS_TENANT_NAME是所創建的項目的名稱。OS_AUTH_URL是Keystone端點的URL。Keystone是一項OpenStack服務,負責不同的OpenStack組件之間的身份驗證。你應該把192.168.10.10換成所部署的系統中運行OpenStack Keystone的那個主機的IP地址。

現在,運行openrc.sh,設定環境變量,如下所示。

  1. $ source openrc.sh

這時候,你可以準備運行OpenStack命令行客戶程序了。確認你在運行時沒有遇到任何錯誤:

  1. $ nova list

它顯示內容爲空的結果,這意味着一切都正常。

構建網絡

現在,你可以準備構建一個連接虛擬機的網絡了。

創建一個名爲"xmodulo"的新網絡。

  1. $ neutron net-create xmodulo

wKioL1NN6ZfRP2gbAABtjrLXZFs691.jpg

創建一個名爲"xmodulo_subnet"的新子網,並將其添加到剛構建的那個網絡。

  1. $ neutron subnet-create xmodulo 10.0.0.0/24 --name xmodulo_subnet

wKiom1NN6dyTJsqrAACKLRRQK3A278.jpg

檢查可用網絡列表,確認該網絡已成功構建。

  1. $ neutron net-list

wKioL1NN6lLxi5zoAABYNjtPMwk939.jpg

在輸出結果中,要記下你所構建的網絡的"ID"(編號)。之後你創建虛擬機時,要用到這個編號。

啓動虛擬機

在創建並啓動虛擬機之前,你首先要知道幾個信息。

查明你想創建的那個虛擬機的類型。爲此,運行下面這個命令。

  1. $ nova flavor-list

wKioL1NN6oKzt1Y8AABvzYXEWaw687.jpg

在該示例中,我準備選擇最小的虛擬機類型"m1.nano",它有64 MB內存、1個虛擬處理器(vCPU)、無磁盤。記下這個類型名稱。

下一步,爲你的虛擬機選擇所要使用的虛擬機映像。爲了列出所有可用的虛擬機映像,請使用這個命令:

  1. $ nova p_w_picpath-list

wKiom1NN7ZGzLb9cAABaG38JaA8929.jpg

記下你想爲虛擬機使用的那個映像的ID。

下一步,爲你的虛擬機選擇所要使用的安全組的類型。安全組爲你的虛擬機決定了入站訪問規則。想了解可用的安全組,請運行該命令:

  1. $ nova secgroup-list

想檢查"默認"安全組的訪問規則,請使用這個命令:

  1. $ nova secgroup-list-rules default

wKioL1NN7YXSV2E1AAB1FFWFXZk607.jpg

在該示例中,我準備爲虛擬機選擇名爲"default"的安全組。該安全組裏面正好沒有規則。

最後,我們使用到目前爲止所獲得的信息,創建一個虛擬機。指定你已瞭解的虛擬機類型(--flavor)、虛擬機映像的ID(--p_w_picpath)以及網絡的ID(net-id=)。把[vm-name]換成你虛擬機的名稱,這個名稱需要很獨特。

  1. $ nova boot [vm-name] --flavor m1.nano --p_w_picpath d2b830be-3

  2. 7df-4fa9-90b2-91c472d19aaa --security-groups default -ni

  3. c net-id=1cbcddcf-3a7d-481f-b6f2-a97c6447c925

wKioL1NN7Z-wJHCiAAC17ul8WUU212.jpg

爲了確認虛擬機已成功創建並啓動,請運行這個命令:

  1. $ nova list

wKiom1NN7eigqPQtAABJvBILeg0895.jpg

停止、暫停和清除虛擬機

當你停止運行某個虛擬機時,它完全關閉。另一方面,你暫停虛擬機時,它臨時被凍結,隨時可以從暫停狀態重新啓動。在這兩種情況下,虛擬機映像仍留在OpenStack裏面。

想停止虛擬機,運行這個命令:

  1. $ nova stop [vm-name]

想暫停虛擬機,運行這個命令:

  1. $ nova suspend [vm-name]

wKiom1NN7hGQDdU2AABQomeqOIU975.jpg

如果你想從OpenStack清除已終停止虛擬機或已暫停虛擬機的映像,請使用這個命令:

  1. $ nova delete [vm-name]

wKiom1NN7jnSrHW6AAA6SclAo1I406.jpg

原文鏈接:http://xmodulo.com/2014/03/manage-vms-openstack-command-line-tools.html


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章