㈠ 如何開始使用OpenStack命令行和API
一、找到rc文件:
找了半天資料,你可能已經知道你需要的就是一個文件,然後source一下。但文件的內容從哪裡來?因為你到目前為止只知道horizon登錄的用戶名和密碼。好,我現在告訴你:
第一步,登錄horizon,進入下圖所示的頁面。
看到那個「下載OpenStack RC文件」的按鈕了么?看到了么?看到了么?別光顧著點頭了,還等啥?
打開下載的文件(這里舉個例子,我以admin用戶登錄的),對內容稍作修改(主要是最後那個password,改成你登錄horizon的密碼,其他內容不要改)。
登錄後台,新建一個文件,然後把上面的內容復制進去,執行久違的source,然後再次運行命令:
[root@node-2 ~]# vi ~/openrc
[root@node-2 ~]# source ~/openrc
[root@node-2 ~]# nova list
[root@node-2 ~]# keystone tenant-list
+----------------------------------+----------+---------+
| id | name | enabled |
+----------------------------------+----------+---------+
| | admin | True |
| | services | True |
+----------------------------------+----------+---------+
[root@node-2 ~]#
二、Rest API:
雖然使用命令行已經很接近OpenStack的本質了,但別忘了,命令行畢竟也是一種封裝,如果你想玩的再透一些,Rest API是個不錯的選擇,使用Rest API之後,OpenStack在你面前基本上就是裸奔了。
關於API的使用我不做過多說明,因為在我之前的blog和topic裡面已經說過太多次了,看一看下面的截圖,你自己再稍微google一下,就什麼都明白了。
㈡ 如何開始使用OpenStack命令行和API-openstack學習
當你開始使用OpenStack,基本上都是從一個已搭建好的環境入手,別人(operator)會告訴你horizon登錄的租戶名、用戶名和密碼。
horizon登陸頁
但畢竟horizon不會封裝OpenStack的所有特性,當你已經玩膩了頁面上那些功能時,你想嘗試更多更豐富的功能,那麼恭喜你,你已經向中級玩家邁進了一步。中級玩家對OpenStack的使用基本上有四種方式:
OpenStack client
cURL
Rest API
OpenStack SDK
我個人比較傾向於使用client和API,因為cURL的用法其實跟發送RestAPI相似,但cURL不太方便操作(因為我們普遍都喜歡在可視化頁面點擊按鈕);而SDK則更多是基於OpenStack做應用時會用到,這些人一般不會關注OpenStack的內部機制。
好,你費盡心機跟operator講好話,跟他說:哥,求求你,讓我登陸後台玩玩吧! 當operator吃完你送的冰激凌,抹了一下嘴角,然後瀟灑的扔了一個IP給你,「拿去耍吧」。你反復背誦著節點登陸的用戶名和密碼(注意,這跟horizon登陸的用戶名密碼不是一個東西),小心謹慎的進了讓每個程序員都感到神秘的後台,然後,快速敲了一個命令並回車:
[root@node-2 ~]# nova list
ERROR: You must provide a username via either --os-username or env[OS_USERNAME]
復制代碼
shit! 怎麼回事?!一個ERROR可能讓你慌了神。你平復了一下心情,心想:一定是老子敲命令的姿勢不對,再試一次,這次用其他命令:
[root@node-2 ~]# keystone tenant-list
Expecting an auth URL via either --os-auth-url or env[OS_AUTH_URL]
復制代碼
天吶! 嗚呼一聲,你已然跪了……眼角斜了斜operator,他匆忙的背影讓你失去了打擾他的信心,又摸了摸兜里僅剩的1塊硬幣,准備打退堂鼓。
等等! 請看完我的blog,會讓你起死回生的。
找到rc文件
找了半天資料,你可能已經知道你需要的就是一個文件,然後source一下。但文件的內容從哪裡來?因為你到目前為止只知道horizon登錄的用戶名和密碼。好,我現在告訴你:
第一步,登錄horizon,進入下圖所示的頁面。
看到那個「下載OpenStack RC文件」的按鈕了么?看到了么?看到了么?別光顧著點頭了,還等啥?!
打開下載的文件(這里舉個例子,我以admin用戶登錄的),對內容稍作修改(主要是最後那個password,改成你登錄horizon的密碼,其他內容不要改):
#!/bin/bash
# With the addition of Keystone, to use an openstack cloud you should
# authenticate against keystone, which returns a **Token** and **Service
# Catalog**. The catalog contains the endpoint for all services the
# user/tenant has access to - including nova, glance, keystone, swift.
#
# *NOTE*: Using the 2.0 *auth api* does not mean that compute api is 2.0. We
# will use the 1.1 *compute api*
export OS_AUTH_URL=http://119.81.159.110:5000/v2.0
# With the addition of Keystone we have standardized on the term **tenant**
# as the entity that owns the resources.
export OS_TENANT_ID=
export OS_TENANT_NAME="admin"
# In addition to the owning entity (tenant), openstack stores the entity
# performing the action as the **user**.
export OS_USERNAME="admin"
export OS_PASSWORD="tUWkuBpN"
復制代碼
好了,現在你可以登錄後台,新建一個文件,然後把上面的內容復制進去,執行久違的source,然後再次運行命令:
[root@node-2 ~]# vi ~/openrc
[root@node-2 ~]# source ~/openrc
[root@node-2 ~]# nova list
[root@node-2 ~]# keystone tenant-list
+----------------------------------+----------+---------+
| id | name | enabled |
+----------------------------------+----------+---------+
| | admin | True |
| | services | True |
+----------------------------------+----------+---------+
[root@node-2 ~]#
復制代碼
呵呵,別親我?!別動我!!
Rest API
雖然使用命令行已經很接近OpenStack的本質了,但別忘了,命令行畢竟也是一種封裝,如果你想玩的再透一些,Rest API是個不錯的選擇,使用Rest API之後,OpenStack在你面前基本上就是裸奔了。
關於API的使用我不做過多說明,因為在我之前的blog和topic裡面已經說過太多次了,看一看下面的截圖,你自己再稍微google一下,就什麼都明白了。
㈢ 如何開始使用OpenStack命令行和API-openstack學習
當你開始使用OpenStack,基本上都是從一個已搭建好的環境入手,別人(operator)會告訴你horizon登錄的租戶名、用戶名和密碼。
horizon登陸頁
但畢竟horizon不會封裝OpenStack的所有特性,當你已經玩膩了頁面上那些功能時,你想嘗試更多更豐富的功能,那麼恭喜你,你已經向中級玩家邁進了一步。中級玩家對OpenStack的使用基本上有 四種方式 :
OpenStack client
cURL
Rest API
OpenStack SDK
我個人比較傾向於使用client和API,因為cURL的用法其實跟發送RestAPI相似,但cURL不太方便操作(因為我們普遍都喜歡在可視化頁面點擊按鈕);而SDK則更多是基於OpenStack做應用時會用到,這些人一般不會關注OpenStack的內部機制。轉載,僅供參考。
㈣ 如何藉助OpenStack命令行工具管理虛擬機
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上,執行這個命令:
$ sudo apt-get install python-pip $ sudo pip install python-novaclient python-keystoneclient python-neutronclient
在CentOS、Fedora或RHEL上,執行這個命令:
$ sudo yum install python-pip $ sudo pip install python-novaclient python-keystoneclient python-neutronclient
設定環境變數
為了能夠使用OpenStack CLI客戶程序,你就要設定必要的環境變數。為此,創建一個名為openrc.sh的腳本,如下所示。
$ sudo vi openrc.sh export OS_USERNAME=dan export OS_PASSWORD=my_password export OS_TENANT_NAME=demo 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,設定環境變數,如下所示。
$ source openrc.sh
這時候,你可以准備運行OpenStack命令行客戶程序了。確認你在運行時沒有遇到任何錯誤:
$ nova list
它顯示內容為空的結果,這意味著一切都正常。
構建網路
現在,你可以准備構建一個連接虛擬機的網路了。
創建一個名為"xmolo"的新網路。
$ neutron net-create xmolo
創建一個名為"xmolo_subnet"的新子網,並將其添加到剛構建的那個網路。
$ neutron subnet-create xmolo 10.0.0.0/24 --name xmolo_subnet
檢查可用網路列表,確認該網路已成功構建。
$ neutron net-list
在輸出結果中,要記下你所構建的網路的"ID"(編號)。之後你創建虛擬機時,要用到這個編號。
啟動虛擬機
在創建並啟動虛擬機之前,你首先要知道幾個信息。
查明你想創建的那個虛擬機的類型。為此,運行下面這個命令。
$ nova flavor-list
在該示例中,我准備選擇最小的虛擬機類型"m1.nano",它有64 MB內存、1個虛擬處理器(vCPU)、無磁碟。記下這個類型名稱。
下一步,為你的虛擬機選擇所要使用的虛擬機映像。為了列出所有可用的虛擬機映像,請使用這個命令:
$ nova image-list
記下你想為虛擬機使用的那個映像的ID。
下一步,為你的虛擬機選擇所要使用的安全組的類型。安全組為你的虛擬機決定了入站訪問規則。想了解可用的安全組,請運行該命令:
$ nova secgroup-list
想檢查"默認"安全組的訪問規則,請使用這個命令:
$ nova secgroup-list-rules default
在該示例中,我准備為虛擬機選擇名為"default"的安全組。該安全組裡面正好沒有規則。
最後,我們使用到目前為止所獲得的信息,創建一個虛擬機。指定你已了解的虛擬機類型(--flavor)、虛擬機映像的ID(--image)以及網路的ID(net-id=)。把[vm-name]換成你虛擬機的名稱,這個名稱需要很獨特。
$ nova boot [vm-name] --flavor m1.nano --image d2b830be-3 7df-4fa9-90b2-91c472d19aaa --security-groups default -ni c net-id=1cbcddcf-3a7d-481f-b6f2-a97c6447c925
為了確認虛擬機已成功創建並啟動,請運行這個命令:
$ nova list
停止、暫停和清除虛擬機
當你停止運行某個虛擬機時,它完全關閉。另一方面,你暫停虛擬機時,它臨時被凍結,隨時可以從暫停狀態重新啟動。在這兩種情況下,虛擬機映像仍留在OpenStack裡面。
想停止虛擬機,運行這個命令:
$ nova stop [vm-name]
想暫停虛擬機,運行這個命令:
$ nova suspend [vm-name]
如果你想從OpenStack清除已終停止虛擬機或已暫停虛擬機的映像,請使用這個命令:
$ nova delete [vm-name]
㈤ 如何藉助OpenStack命令行工具管理虛擬機
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上,執行這個命令:
$ sudo apt-get install python-pip $ sudo pip install python-novaclient python-keystoneclient python-neutronclient
在CentOS、Fedora或RHEL上,執行這個命令:
$ sudo yum install python-pip $ sudo pip install python-novaclient python-keystoneclient python-neutronclient
設定環境變數
為了能夠使用OpenStack CLI客戶程序,你就要設定必要的環境變數。為此,創建一個名為openrc.sh的腳本,如下所示。
$ sudo vi openrc.sh export OS_USERNAME=dan export OS_PASSWORD=my_password export OS_TENANT_NAME=demo 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,設定環境變數,如下所示。
$ source openrc.sh
這時候,你可以准備運行OpenStack命令行客戶程序了。確認你在運行時沒有遇到任何錯誤:
$ nova list
它顯示內容為空的結果,這意味著一切都正常。
構建網路
現在,你可以准備構建一個連接虛擬機的網路了。
創建一個名為"xmolo"的新網路。
$ neutron net-create xmolo
創建一個名為"xmolo_subnet"的新子網,並將其添加到剛構建的那個網路。
$ neutron subnet-create xmolo 10.0.0.0/24 --name xmolo_subnet
檢查可用網路列表,確認該網路已成功構建。
$ neutron net-list
在輸出結果中,要記下你所構建的網路的"ID"(編號)。之後你創建虛擬機時,要用到這個編號。
啟動虛擬機
在創建並啟動虛擬機之前,你首先要知道幾個信息。
查明你想創建的那個虛擬機的類型。為此,運行下面這個命令。
$ nova flavor-list
在該示例中,我准備選擇最小的虛擬機類型"m1.nano",它有64 MB內存、1個虛擬處理器(vCPU)、無磁碟。記下這個類型名稱。
下一步,為你的虛擬機選擇所要使用的虛擬機映像。為了列出所有可用的虛擬機映像,請使用這個命令:
$ nova image-list
記下你想為虛擬機使用的那個映像的ID。
下一步,為你的虛擬機選擇所要使用的安全組的類型。安全組為你的虛擬機決定了入站訪問規則。想了解可用的安全組,請運行該命令:
$ nova secgroup-list
想檢查"默認"安全組的訪問規則,請使用這個命令:
$ nova secgroup-list-rules default
在該示例中,我准備為虛擬機選擇名為"default"的安全組。該安全組裡面正好沒有規則。
最後,我們使用到目前為止所獲得的信息,創建一個虛擬機。指定你已了解的虛擬機類型(--flavor)、虛擬機映像的ID(--image)以及網路的ID(net-id=)。把[vm-name]換成你虛擬機的名稱,這個名稱需要很獨特。
$ nova boot
[vm-name] --flavor m1.nano --image d2b830be-3
7df-4fa9-90b2-91c472d19aaa --security-groups default -ni c
net-id=1cbcddcf-3a7d-481f-b6f2-a97c6447c925
為了確認虛擬機已成功創建並啟動,請運行這個命令:
$ nova list
停止、暫停和清除虛擬機
當你停止運行某個虛擬機時,它完全關閉。另一方面,你暫停虛擬機時,它臨時被凍結,隨時可以從暫停狀態重新啟動。在這兩種情況下,虛擬機映像仍留在OpenStack裡面。
想停止虛擬機,運行這個命令:
$ nova stop [vm-name]
想暫停虛擬機,運行這個命令:
$ nova suspend [vm-name]
如果你想從OpenStack清除已終停止虛擬機或已暫停虛擬機的映像,請使用這個命令:
$ nova delete [vm-name]
㈥ 如何藉助OpenStack命令行工具管理虛擬機
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上,執行這個命令:
$ sudo apt-get install python-pip $ sudo pip install python-novaclient python-keystoneclient python-neutronclient
在CentOS、Fedora或RHEL上,執行這個命令:
$ sudo yum install python-pip $ sudo pip install python-novaclient python-keystoneclient python-neutronclient
設定環境變數
為了能夠使用OpenStack CLI客戶程序,你就要設定必要的環境變數。為此,創建一個名為openrc.sh的腳本,如下所示。
$ sudo vi openrc.sh export OS_USERNAME=dan export OS_PASSWORD=my_password export OS_TENANT_NAME=demo 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,設定環境變數,如下所示。
$ source openrc.sh
這時候,你可以准備運行OpenStack命令行客戶程序了。確認你在運行時沒有遇到任何錯誤:
$ nova list
它顯示內容為空的結果,這意味著一切都正常。
構建網路
現在,你可以准備構建一個連接虛擬機的網路了。
創建一個名為"xmolo"的新網路。
$ neutron net-create xmolo
創建一個名為"xmolo_subnet"的新子網,並將其添加到剛構建的那個網路。
$ neutron subnet-create xmolo 10.0.0.0/24 --name xmolo_subnet
檢查可用網路列表,確認該網路已成功構建。
$ neutron net-list
在輸出結果中,要記下你所構建的網路的"ID"(編號)。之後你創建虛擬機時,要用到這個編號。
啟動虛擬機
在創建並啟動虛擬機之前,你首先要知道幾個信息。
查明你想創建的那個虛擬機的類型。為此,運行下面這個命令。
$ nova flavor-list
在該示例中,我准備選擇最小的虛擬機類型"m1.nano",它有64 MB內存、1個虛擬處理器(vCPU)、無磁碟。記下這個類型名稱。
下一步,為你的虛擬機選擇所要使用的虛擬機映像。為了列出所有可用的虛擬機映像,請使用這個命令:
$ nova image-list
記下你想為虛擬機使用的那個映像的ID。
下一步,為你的虛擬機選擇所要使用的安全組的類型。安全組為你的虛擬機決定了入站訪問規則。想了解可用的安全組,請運行該命令:
$ nova secgroup-list
想檢查"默認"安全組的訪問規則,請使用這個命令:
$ nova secgroup-list-rules default
在該示例中,我准備為虛擬機選擇名為"default"的安全組。該安全組裡面正好沒有規則。
最後,我們使用到目前為止所獲得的信息,創建一個虛擬機。指定你已了解的虛擬機類型(--flavor)、虛擬機映像的ID(--image)以及網路的ID(net-id=)。把[vm-name]換成你虛擬機的名稱,這個名稱需要很獨特。
$ nova boot [vm-name] --flavor m1.nano --image d2b830be-3 7df-4fa9-90b2-91c472d19aaa --security-groups default -ni c net-id=1cbcddcf-3a7d-481f-b6f2-a97c6447c925
為了確認虛擬機已成功創建並啟動,請運行這個命令:
$ nova list
停止、暫停和清除虛擬機
當你停止運行某個虛擬機時,它完全關閉。另一方面,你暫停虛擬機時,它臨時被凍結,隨時可以從暫停狀態重新啟動。在這兩種情況下,虛擬機映像仍留在OpenStack裡面。
想停止虛擬機,運行這個命令:
$ nova stop [vm-name]
想暫停虛擬機,運行這個命令:
$ nova suspend [vm-name]
如果你想從OpenStack清除已終停止虛擬機或已暫停虛擬機的映像,請使用這個命令:
$ nova delete [vm-name]
㈦ 如何開始使用OpenStack命令行和API
首先你可以學習部署OpenStack,使用DevStack或者手動安裝OpenStack。
之後就可以開始使用OpenStack的命令行管理OpenStack,以及調用API。
細節的這里就不展開來說了,有官方的英文文檔可以參考。
命令行相關:http://docs.openstack.org/admin-guide/cli.html
API相關:http://developer.openstack.org/api-guide/quick-start/
如果自己搞不定的話,可以看看基金會的Certified OpenStack Administrator的培訓,可以學到這些內容。
㈧ 如何開始使用OpenStack命令行和API-openstack學習
首先你可以學習部署OpenStack,使用DevStack或者手動安裝OpenStack。
之後就可以開始使用OpenStack的命令行管理OpenStack,以及調用API。
細節的這里就不展開來說了,有官方的英文文檔可以參考。
㈨ 如何藉助OpenStack命令行工具管理虛擬機
OpenStack中有兩種不同的界面用來管理雲資源。一個是通過Horizon,這是基於Web的OpenStack儀錶板;另一個就是通過OpenStack命令行介面(CLI)。 我在本教程中將演示如何從命令行,在OpenStack上創建或終止虛擬機。這個過程是在Havana版本