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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章