文档首页 > > 开发指南>

CLI概述

CLI概述

分享
更新时间:2021/05/08 GMT+08:00

命令行接口采用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_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
      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

      用户名、账号名、项目名称等在我的凭证中可获取,请参考图1获取。其他环境变量说明请参见表1

      图1 账号相关参数
      表1 环境变量说明

      参数

      说明

      OS_AUTH_URL

      参数值的格式为https://IAM URL:port number/API version例如https://iam.example.com:443/v3

      取值样例如下:

      https://iam.cn-north-1.myhuaweicloud.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>

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

  • 部分OpenStack版本,参数“OS_REGION_NAME”为选填,如OpenStack 5.2.1、OpenStack 3.8.1,建议填写。
  • 如需访问IAM、OBS等全局服务,OS_REGION_NAME=“*”。
分享:

    相关文档

    相关产品