命令行接口采用OpenStackClient工具。该工具提供命令行客户端,通过执行命令即可访问 云服务 的API获取云服务,操作方便。
命令行客户端概述
OpenStackClient项目设有统一命令行客户端(Unified CLI),通过执行命令即可访问OpenStack项目的API,操作非常简单。并且,大多数OpenStack项目会为每一项服务设置一个命令行客户端(Individual CLI)。例如,Compute服务提供的是Nova命令行客户端。具体信息请参见详情。
安装
工具安装说明
OpenStackClient可以通过安装运行python-openstackclient插件使用。因此,在使用该工具之前,需要确保python-openstackclient正常。
只要保证Python运行正常,该工具可以在所有操作系统上运行。但是由于各种操作系统之间存在差异,所以操作方法不尽相同。推荐使用Ubuntu16.04(64bit)操作系统。以下操作都以Ubuntu16.04(64bit)为例。
安装过程请在 root权限下进行。
1、更新系统
执行如下命令:
apt-get update
apt-get upgrade
2、安装Python
根据OS类型安装 Python和pip。支持Python 2.7版本。
Ubuntu 16.04一般包含 Python 2.7。若尚未安装Python,请按照下面步骤安装。
执行以下命令安装python:
apt-get install python
执行以下命令安装setuptools:
apt-get install python-setuptools
执行以下命令安装pip:
apt-get install python-pip
(如果Ubuntu支持的setuptools和pip版本比较低,用户可以采用离线的方式安装。)
执行以下命令安装dev:
apt-get install python-dev
3、安装 python-openstackclient以及依赖的组件
默认支持以下版本:
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
通过执行以下命令,使用pip安装python-openstackclient:
pip install python-openstackclient==3.2.1
安装完成之后,请在命令行中输入如下命令,验证python-openstackclient能否正常运行。
openstack -h
查看是否显示帮助信息。如有帮助信息,表示安装成功。
其他部件安装方法相同。请使用相同的命令,按顺序进行安装。
配置
1、配置OpenStack Client
既可以使用root用户,也可以以普通用户身份进行配置。
须知:
只能通过安全网络(例如,通过VPN或租户弹性 云服务器 )调用API。如果网络不安全,则可能会受到攻击。
参数 | 说明 |
---|---|
OS_USERNAME | 指调用命令所用的用户名。 指登录管理控制台所用的用户名。 |
OS_USER_DOMAIN_NAME | 指当前用户的租户名。 指登录控制台所用的企业账号。 |
OS_DOMAIN_NAME | 指当前租户的名称。 |
OS_PASSWORD | 指调用命令所用的密码。 指登录控制台所用的密码。 |
OS_TENANT_NAME | 指调用命令所用的租户名。 指我的凭证页项目列表中的项目名称。 |
OS_PROJECT_NAME | 指调用命令所用的项目名称。 和OS_TENANT_NAME一致。 |
OS_AUTH_URL | 参数值的格式为https:// IAM URL:port number/API version。例如https://iam.example.com:443/v3 |
OS_INTERFACE | 指Endpoint可见类型。参数值为public。 |
NOVA_ENDPOINT_TYPE | 指Nova的 终端节点 类型。当使用OpenStack命令时,需要配置该参数。参数值为publicURL。 |
OS_ENDPOINT_TYPE | 指OS的终端节点类型。当使用OpenStack命令时,需要配置该参数。将参数值设置为publicURL。 |
CINDER_ENDPOINT_TYPE | 指Cinder的终端节点类型。当使用OpenStack命令时,需要配置该参数。将参数值设置为publicURL。 |
OS_VOLUME_API_VERSION | 指Cinder API的版本。参数值为2。 |
OS_IDENTITY_API_VERSION | 指鉴权API版本。参数值为3。 |
OS_IMAGE_API_VERISON | 指Glance API版本。参数值为2。 |
IAM URL:请从地区和终端节点中获取。
端口号:443
API版本:v3(当前)
在OpenStack客户端安装路径下,创建一个环境变量文件,例如novarc。
使用文本编辑器创建环境变量文件,然后输入用户名、密码、区域、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
需要配置的环境变量包括用户名、密码、IAM URL和端口号等。环境变量见表 1。
2、执行以下命令设置环境变量:
source novarc
3、注意:当调用OpenStackClient中的Keystone命令行时,需要配置环境变量OS_DOMAIN_NAME,并且将环境变量OS_TENANT_NAME和OS_PROJECT_NAME设置为空。命令如下:
export OS_DOMAIN_NAME=domain_name
unset OS_TENANT_NAME
unset OS_PROJECT_NAME
在调用其他服务的命令行时,需要把环境变量OS_DOMAIN_NAME设置为空,重新配置环境变量OS_TENANT_NAME和OS_PROJECT_NAME。命令如下:
unset OS_DOMAIN_NAME
export OS_TENANT_NAME=tenant_name
export OS_PROJECT_NAME=project_name
完成CLI安装和配置后,您就可以开始使用CLI了。
云平台支持的CLI列表,请参考附录。
如果您在安装、配置和使用过程中遇到问题,请到常见问题中寻找解决方法。
云平台除了支持OpenStack的Individual CLI和Unified CLI,还通过插件提供了Extended CLI。如果您需要使用Extended CLI,请参考下面的指导完成安装和配置,然后进行使用。