OpenStack-allinone-使用方法

一、 安装OpenStack客户端并创建一个云主机
1、 安装OpenStack client端,方便后期使用命令行操作OpenStack
[root@xuegod120 ~]# pip install python-openstackclient
错误:
ERROR: Cannot uninstall ‘ipaddress’. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
解决方法:
原因是因为已经安装了ipaddress,所以在此安装报错,执行下列命令,忽略已经安装的包,再次安装即可
[root@xuegod120 ~]# pip install --ignore-installed ipaddress
[root@xuegod120 ~]# pip install python-openstackclient #再次执行安装即可

2、 安装OpenStack网络相关命令
[root@xuegod120 ~]# pip install python-neutronclient
注:这里如果提示pyinotify已安装,执行如下命令即可,原理同上一个错误
pip install –ignore-installed pyinotify

3、 使用init-runonce脚本创建一个openstack云项目
在这里插入图片描述
OpenStack云主机有两张网卡,其中ens38无IP地址,云主机使用VXLAN技术将ens38和虚拟的vm1通过虚拟路由器联动起来。
ens33网卡是云平台宿主机和外部进行通讯使用,ens38是云平台和虚拟主机通讯使用。
OpenStack以外的主机访问OpenStack云主机就是通过ens38来进行访问。

1) 修改init-runonce脚本,指定浮动IP地址范围
[root@xuegod120 ~]# vim /usr/share/kolla-ansible/init-runonce
改:
19 EXT_NET_CIDR=‘10.0.2.0/24’
20 EXT_NET_RANGE=‘start=10.0.2.150,end=10.0.2.199’
21 EXT_NET_GATEWAY=‘10.0.2.1’
为:
EXT_NET_CIDR=‘192.168.0.0/24’
EXT_NET_RANGE=‘start=192.168.0.200,end=192.168.0.230’
EXT_NET_GATEWAY=‘192.168.0.1’
注:192.168.0.0的网络,就是我上面ens38接入的局域网中的地址,这个网络是通过局域网络中的路由器访问互联网。配置好这个,生成的云主机实例,就可以直接和外网通信了。

2) 使用init-runonce脚本创建一个OpenStack云项目
[root@xuegod120 ~]# ll /etc/kolla/admin-openrc.sh
-rw-r–r--. 1 root root 355 Sep 5 13:25 /etc/kolla/admin-openrc.sh
#如果没有这个文件,执行下面命令即可生成
[root@xuegod120 ~]# kolla-ansible -i /etc/kolla/all-in-one post-deploy #执行这个文件会生成etc/kolla/admin-openrc.sh 脚本文件。

先加载这个文件,把文件中的环境变量加入到系统内中,才有权限执行下面的命令,不然会报如下错误:
[root@xuegod120 kolla-ansible]# ./init-runonce
No Keystone credentials specified. Try running source /etc/kolla/admin-openrc.sh command
#必须先加载admin-openrc.sh这个文件

[root@xuegod120 ~]# source /etc/kolla/admin-openrc.sh #加载环境变量
[root@xuegod120 ~]# cd /usr/share/kolla-ansible/
[root@xuegod120 kolla-ansible]# ./init-runonce #执行脚本
错误:
Traceback (most recent call last):
File “/usr/bin/openstack”, line 6, in
from openstackclient.shell import main
File “/usr/lib/python2.7/site-packages/openstackclient/shell.py”, line 24, in
from osc_lib import shell
File “/usr/lib/python2.7/site-packages/osc_lib/shell.py”, line 33, in
from osc_lib.cli import client_config as cloud_config
File “/usr/lib/python2.7/site-packages/osc_lib/cli/client_config.py”, line 18, in
from openstack.config import exceptions as sdk_exceptions
File “/usr/lib/python2.7/site-packages/openstack/init.py”, line 17, in
import openstack.connection
File “/usr/lib/python2.7/site-packages/openstack/connection.py”, line 187, in
from openstack.cloud import openstackcloud as _cloud
File “/usr/lib/python2.7/site-packages/openstack/cloud/openstackcloud.py”, line 21, in
import dogpile.cache
File “/usr/lib/python2.7/site-packages/dogpile/cache/init.py”, line 1, in
from .region import CacheRegion, register_backend, make_region # noqa
File “/usr/lib/python2.7/site-packages/dogpile/cache/region.py”, line 15, in
from decorator import decorate
ImportError: cannot import name decorate

解决方法:升级decorator后再次执行脚本
pip install -U decorator
[root@xuegod120 kolla-ansible]# ./init-runonce
在这里插入图片描述
注:这里需要注意,如果再部署OpenStack时候,使用的stein版本的,就需要开启cinder(默认是开启的,修改/etc/kola/globasl.yml文件);如果使用rocky版本部署,就需要关闭cinder参数。

执行命令:
openstack server create
–image cirros
–flavor m1.tiny
–key-name mykey
–network demo-net
demo1

3) 登录OpenStack的web界面查看创建的实例
在这里插入图片描述
这里显示的调度状态,通常如果OpenStack的内存不足,就是报错。所以在进行实验时,最好给足内存,防止因为内存不足报错。
在这里插入图片描述

4) 给创建的虚拟机实例分配浮动IP地址和外界通讯
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
5) 查看网络拓扑
在这里插入图片描述

6) 给实例绑定浮动IP地址
在这里插入图片描述

绑定完毕后即可和外界互通

二、 查看创建的虚拟机实例和OpenStack项目中的信息
1、 查看路由信息
[root@xuegod120 ~]# openstack route list
[root@xuegod120 ~]# openstack router show demo-router

2、 查看网络列表
[root@xuegod120 ~]# openstack network list
在这里插入图片描述

3、 查看子网信息
[root@xuegod120 ~]# openstack subnet list
在这里插入图片描述

4、 查看云主机实例信息
[root@xuegod120 ~]# openstack server show demo2

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值