命令行接口采用OpenStackClient工具。該工具提供命令行客戶端,通過(guò)執(zhí)行命令即可訪問(wèn)云服務(wù)的API獲取云服務(wù),操作方便。
命令行客戶端概述
OpenStackClient項(xiàng)目設(shè)有統(tǒng)一命令行客戶端(Unified CLI),通過(guò)執(zhí)行命令即可訪問(wèn)OpenStack項(xiàng)目的API,操作非常簡(jiǎn)單。并且,大多數(shù)OpenStack項(xiàng)目會(huì)為每一項(xiàng)服務(wù)設(shè)置一個(gè)命令行客戶端(Individual CLI)。例如,Compute服務(wù)提供的是Nova命令行客戶端。具體信息請(qǐng)參見(jiàn)詳情。
安裝
工具安裝說(shuō)明
OpenStackClient可以通過(guò)安裝運(yùn)行python-openstackclient插件使用。因此,在使用該工具之前,需要確保python-openstackclient正常。
只要保證Python運(yùn)行正常,該工具可以在所有操作系統(tǒng)上運(yùn)行。但是由于各種操作系統(tǒng)之間存在差異,所以操作方法不盡相同。推薦使用Ubuntu16.04(64bit)操作系統(tǒng)。以下操作都以Ubuntu16.04(64bit)為例。
安裝過(guò)程請(qǐng)?jiān)?nbsp;root權(quán)限下進(jìn)行。
1、更新系統(tǒng)
執(zhí)行如下命令:
apt-get update
apt-get upgrade
2、安裝Python
根據(jù)OS類型安裝 Python和pip。支持Python 2.7版本。
Ubuntu 16.04一般包含 Python 2.7。若尚未安裝Python,請(qǐng)按照下面步驟安裝。
執(zhí)行以下命令安裝python:
apt-get install python
執(zhí)行以下命令安裝setuptools:
apt-get install python-setuptools
執(zhí)行以下命令安裝pip:
apt-get install python-pip
(如果Ubuntu支持的setuptools和pip版本比較低,用戶可以采用離線的方式安裝。)
執(zhí)行以下命令安裝dev:
apt-get install python-dev
3、安裝 python-openstackclient以及依賴的組件
默認(rèn)支持以下版本:
python-openstackclient: 3.2.1
python-novaclient: 6.0.2
python-glanceclient: 2.5.0
python-keystoneclient: 3.5.1
python-neutronclient: 6.0.1
python-cinderclient: 1.9.0
python-heatclient: 1.5.1
python-designateclient: 2.3.0
openstacksdk: 0.9.5
cliff:2.2.0
os-client-config:1.21.1
osc-lib:1.1.0
通過(guò)執(zhí)行以下命令,使用pip安裝python-openstackclient:
pip install python-openstackclient==3.2.1
安裝完成之后,請(qǐng)?jiān)诿钚兄休斎肴缦旅?,?yàn)證python-openstackclient能否正常運(yùn)行。
openstack -h
查看是否顯示幫助信息。如有幫助信息,表示安裝成功。
其他部件安裝方法相同。請(qǐng)使用相同的命令,按順序進(jìn)行安裝。
配置
1、配置OpenStack Client
既可以使用root用戶,也可以以普通用戶身份進(jìn)行配置。
須知:
只能通過(guò)安全網(wǎng)絡(luò)(例如,通過(guò)VPN或租戶彈性 云服務(wù)器 )調(diào)用API。如果網(wǎng)絡(luò)不安全,則可能會(huì)受到攻擊。
參數(shù) | 說(shuō)明 |
|---|---|
OS_USERNAME | 指調(diào)用命令所用的用戶名。 指登錄管理控制臺(tái)所用的用戶名。 |
OS_USER_DOMAIN_NAME | 指當(dāng)前用戶的租戶名。 指登錄控制臺(tái)所用的企業(yè)賬號(hào)。 |
OS_DOMAIN_NAME | 指當(dāng)前租戶的名稱。 |
OS_PASSWORD | 指調(diào)用命令所用的密碼。 指登錄控制臺(tái)所用的密碼。 |
OS_TENANT_NAME | 指調(diào)用命令所用的租戶名。 指我的憑證頁(yè)項(xiàng)目列表中的項(xiàng)目名稱。 |
OS_PROJECT_NAME | 指調(diào)用命令所用的項(xiàng)目名稱。 和OS_TENANT_NAME一致。 |
OS_AUTH_URL | 參數(shù)值的格式為https:// IAM URL:port number/API version。例如https://iam.example.com:443/v3 |
OS_INTERFACE | 指Endpoint可見(jiàn)類型。參數(shù)值為public。 |
NOVA_ENDPOINT_TYPE | 指Nova的終端節(jié)點(diǎn)類型。當(dāng)使用OpenStack命令時(shí),需要配置該參數(shù)。參數(shù)值為publicURL。 |
OS_ENDPOINT_TYPE | 指OS的終端節(jié)點(diǎn)類型。當(dāng)使用OpenStack命令時(shí),需要配置該參數(shù)。將參數(shù)值設(shè)置為publicURL。 |
CINDER_ENDPOINT_TYPE | 指Cinder的終端節(jié)點(diǎn)類型。當(dāng)使用OpenStack命令時(shí),需要配置該參數(shù)。將參數(shù)值設(shè)置為publicURL。 |
OS_VOLUME_API_VERSION | 指Cinder API的版本。參數(shù)值為2。 |
OS_IDENTITY_API_VERSION | 指鑒權(quán)API版本。參數(shù)值為3。 |
OS_IMAGE_API_VERISON | 指Glance API版本。參數(shù)值為2。 |
IAM URL:請(qǐng)從地區(qū)和終端節(jié)點(diǎn)中獲取。
端口號(hào):443
API版本:v3(當(dāng)前)
在OpenStack客戶端安裝路徑下,創(chuàng)建一個(gè)環(huán)境變量文件,例如novarc。
使用文本編輯器創(chuàng)建環(huán)境變量文件,然后輸入用戶名、密碼、區(qū)域、IAM IP地址和端口。
示例如下:
export OS_USERNAME="user_name" export OS_USER_DOMAIN_NAME=user_domain_name #export OS_DOMAIN_NAME="domain_name" export OS_PASSWORD=password # Only change these for a different region export OS_TENANT_NAME=tenant_name export OS_PROJECT_NAME=tenant_name export OS_AUTH_URL=https://iam.example.com:443/v3 export OS_INTERFACE=public # No changes needed beyond this point export NOVA_ENDPOINT_TYPE=publicURL export OS_ENDPOINT_TYPE=publicURL export CINDER_ENDPOINT_TYPE=publicURL export OS_VOLUME_API_VERSION=2 export OS_IDENTITY_API_VERSION=3 export OS_IMAGE_API_VERSION=2
需要配置的環(huán)境變量包括用戶名、密碼、IAM URL和端口號(hào)等。環(huán)境變量見(jiàn)表 1。
2、執(zhí)行以下命令設(shè)置環(huán)境變量:
source novarc
3、注意:當(dāng)調(diào)用OpenStackClient中的Keystone命令行時(shí),需要配置環(huán)境變量OS_DOMAIN_NAME,并且將環(huán)境變量OS_TENANT_NAME和OS_PROJECT_NAME設(shè)置為空。命令如下:
export OS_DOMAIN_NAME=domain_name
unset OS_TENANT_NAME
unset OS_PROJECT_NAME
在調(diào)用其他服務(wù)的命令行時(shí),需要把環(huán)境變量OS_DOMAIN_NAME設(shè)置為空,重新配置環(huán)境變量OS_TENANT_NAME和OS_PROJECT_NAME。命令如下:
unset OS_DOMAIN_NAME
export OS_TENANT_NAME=tenant_name
export OS_PROJECT_NAME=project_name
完成CLI安裝和配置后,您就可以開(kāi)始使用CLI了。
云平臺(tái)支持的CLI列表,請(qǐng)參考附錄。
如果您在安裝、配置和使用過(guò)程中遇到問(wèn)題,請(qǐng)到常見(jiàn)問(wèn)題中尋找解決方法。
云平臺(tái)除了支持OpenStack的Individual CLI和Unified CLI,還通過(guò)插件提供了Extended CLI。如果您需要使用Extended CLI,請(qǐng)參考下面的指導(dǎo)完成安裝和配置,然后進(jìn)行使用。