如何在Linux上安装和配置OpenStack客户端

时间:2020-02-23 14:39:10  来源:igfitidea点击:

OpenStack Client是用于OpenStack的命令行工具,它带来了Compute,Identity,Image,Object Storage和Block Storage API的命令集,其中包含统一的命令结构。
OpenStack客户端使我们可以通过API调用通过网络与OpenStack服务进行交互。

此设置的预先要求是一个工作的OpenStack云平台。
我们可以查看我们的OpenStack教程,了解如何文章。
如果我们是开发人员并且想贡献,则代码托管在OpenStack的Git服务器上。

第1步:安装Python pip工具

一些Linux发行版包括我们可以直接安装的OpenStack命令行客户端的打包版本,但我们将从PIP安装。
通过系统的包管理器安装PIP:

------------ Install pip on Debian/Ubuntu ---------
$sudo apt-get -y update
$sudo apt-get -y install python-dev python-pip
$sudo pip install --upgrade pip
------------ Install pip on CentOS/RHEL ---------
$sudo yum -y install python-devel python-pip
$sudo pip install --upgrade pip
------------ Install pip on Arch/Manjaro ---------
$sudo pacman -Syy
$sudo pacman -S python-pip
$sudo pip install --upgrade pip
--------- Install pip on macOS ---------------
$sudo easy_install pip

确认已安装的PIP版本。

$pip --version
pip 19.1.1 from /usr/lib/python3.7/site-packages/pip (python 3.7)

第2步:在Linux上安装OpenStack客户端

安装PIP后,继续安装OpenStack命令行客户端。

sudo pip install python-openstackclient

显示有关安装OpenStack命令行客户端的更多信息。

$pip show python-openstackclient
Name: python-openstackclient
Version: 3.19.0
Summary: OpenStack Command-line Client
Home-page: https://docs.openstack.org/python-openstackclient/latest/
Author: OpenStack
Author-email: Hyman@theitroad
License: UNKNOWN
Location: /usr/lib/python3.7/site-packages
Requires: python-cinderclient, cliff, python-keystoneclient, keystoneauth1, python-novaclient, six, openstacksdk, oslo.i18n, python-glanceclient, osc-lib, pbr, Babel, oslo.utils
Required-by:

我们应该在路径中具有OpenStack命令。

$which openstack
/usr/bin/openstack

第3步:在Linux上配置OpenStack客户端

我们可以从OpenStack导演中提取OpenStack配置文件,或者如果我们有正确的访问凭据,请创建一个。

$nano ~/.keystonerc
unset OS_SERVICE_TOKEN
    export OS_USERNAME='admin'
    export OS_PASSWORD='adminpassword'
    export OS_AUTH_URL=http://192.168.100.10:5000/v3
    export PS1='[\Hyman@theitroad\h \W(keystone_admin)]$'
    
export OS_PROJECT_NAME=admin
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_DOMAIN_NAME=Default
export OS_IDENTITY_API_VERSION=3

更新变量以匹配OpenStack环境。
完成后,源将文件源开始使用OpenStack命令行工具来管理OpenStack云。

$source ~/.keystonerc

shell提示应该更改为。

[\Hyman@theitroad\h \W(keystone_admin)]$

运行OpenStack命令以确认它正在工作。

[\Hyman@theitroad\h \W(keystone_admin)]$openstack network list
+--------------------------------------+---------------------------+----------------------------------------------------------------------------+
| ID                                   | Name                      | Subnets                                                                    |
+--------------------------------------+---------------------------+----------------------------------------------------------------------------+
| 900b1ede-3e62-4d73-88d3-b28c129a6bb6 | public                    | c1770934-54bb-4252-928a-c7a41c6e114a                                       |
| da22131e-0b50-46e7-8d35-b18bbb161f1b | mycluster-lww6p-openshift | 6770ab86-2481-46e6-8d29-ab3c6a82b6cc, ec91b5c4-37fd-453f-be02-9ee8327654c2 |
| e406e76f-e89d-42a2-bab1-9c883b2e49aa | private                   | 76ff61dd-0438-4848-a611-f4b4de070164                                       |
+--------------------------------------+---------------------------+----------------------------------------------------------------------------+
$openstack image list
+--------------------------------------+---------------------+--------+
| ID                                   | Name                | Status |
+--------------------------------------+---------------------+--------+
| 0850ee38-1bdf-4379-9c69-0cf73e8b7c65 | Arch-Linux-x86_64   | active |
| e98445b6-f14f-488c-a18a-1f66c6de15c7 | CentOS-7-x86_64     | active |
| 7b4b616e-71f3-4419-9777-7aee66fad62c | Cirros-0.4.0-x86_64 | active |
| 8514fea0-3d55-4248-a79f-5c0183f95898 | CoreOS-x86_64       | active |
| 98bbd9e6-abbc-45fa-ac95-b91b7b18ba0a | Debian-9-amd64      | active |
| 113b90b6-4e1e-4715-b9ab-456c191a82b3 | Fedora-30-x86_64    | active |
| 06c17e8a-0d4c-428a-89b5-b0eb2489f403 | Ubuntu-16.04-x86_64 | active |
| 2ba79fa6-2434-4dc6-ad86-0baf29d44c79 | rhcos               | active |
| c3bb11c7-81af-49fe-a26c-a60e9b14585c | rhcos-kvm           | active |
+--------------------------------------+---------------------+--------+

第4步:启用OpenStack Bash完成

使用OpenStack Complete命令生成BASH完成脚本。

openstack complete | sudo tee /etc/bash_completion.d/osc.bash_completion > /dev/null

登出

$logout
or
$exit

然后再次登录以享受OpenStack Bash完成。

$openstack network <TAB>
agent     create    flavor    log       meter     rbac      service   show      trunk     
auto      delete    list      loggable  qos       segment   set       subport   unset