文档首页> > 开发指南> CLI概述

CLI概述

更新时间: 2018-11-26 14:45

命令行接口采用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。如果网络不安全,则可能会受到攻击。

    1. 在OpenStack客户端安装路径下,创建一个环境变量文件,例如novarc
    2. 使用文本编辑器创建环境变量文件,然后输入用户名、密码、区域、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

    表1 环境变量

    参数

    说明

    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

  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,请参考下面的指导完成安装和配置,然后进行使用。

(可选)安装扩展客户端

扩展客户端可以通过运行python-openstackclient插件使用。因此,在使用扩展客户端之前,需要保证 python-openstackclient处于正常状态。

当前共提供六个服务的插件。详情请参见插件清单。请根据实际需要选择安装所需的服务插件。

由于插件未被提交至pip库,因此插件不能使用pip安装。请从GitHub 下载插件源代码(请单击这里下载插件),使用python setup.py install来安装插件。关于如何安装,请参见各插件随附的Readme 文档。

(可选)配置扩展客户端

在使用扩展客户端时,需要配置认证信息,认证成功后,扩展客户端才可以访问服务。您可以通过配置环境变量的方式来配置用户名和密码进行认证。

环境变量如下:

export OS_AUTH_URL=<url-to-openstack-identity> 
export OS_PROJECT_NAME=<project-name> 
export OS_USERNAME=<username> 
export OS_PASSWORD=<password> 
export OS_REGION_NAME=<region> 
# IP address of each service
export OS_ANTIDDOS_ENDPOINT_OVERRIDE=<url-to-endpoint-of-service> 
export OS_AS_ENDPOINT_OVERRIDE=<url-to-endpoint-of-service> 
export OS_CLOUDEYE_ENDPOINT_OVERRIDE=<url-to-endpoint-of-service>
export OS_VB_ENDPOINT_OVERRIDE=<url-to-endpoint-of-service>
export OS_WORKSPACE_ENDPOINT_OVERRIDE=<url-to-endpoint-of-service>
export OS_KM_ENDPOINT_OVERRIDE=<url-to-endpoint-of-service>

配置环境变量后,即可使用命令行。

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

在文档使用中是否遇到以下问题







请至少选择或填写一项反馈信息

字符长度不能超过100

反馈内容不能为空!

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区
点我,12·12惊喜等着你哦~