设为首页 收藏本站
查看: 2508|回复: 1

[经验分享] 使用Fuel 9.0快速部署Openstack Mitaka

[复制链接]

尚未签到

发表于 2018-6-1 07:12:48 | 显示全部楼层 |阅读模式

关于什么是Fuel以及Fuel的作用和构架可以参考下面Openstack官方给出的Wiki链接.

https://wiki.openstack.org/wiki/Fuel.


在安装部署之前,先看看官方给出的Fuel 9.0版本特性.

Mirantis OpenStack is distributed as a single commercially supportedpackage in ISO format. The 9.0 release features:

·       Enhanced OpenStack Lifecycle Management features in Fuel,including the ability to scale up/down, change configuration settings, anddeploy new functionality, such as by adding plugins for Murano and StackLight

·       The ability to export Fuel configurationvalues to third-party configuration management tools

·       Enhanced features for NFViand other high performance workloads, including support for NUMA and CPU-pinning, Huge Pages, SR-IOVand DPDK

·       Support for applicationand service orchestration with TOSCA

·       Support for cgroups toenable the efficient allocation of a specific amount of system resources,including CPU and memory, to particular resource groups

·       The ability to deployOpenStack environments on servers with disks provided by storage systems withmultipath I/O

·       Support for preprovisionedOracle Linux nodes

·       Support of OpenStack Mitaka upstream release

Fuel 9.0将会搭载Openstack_Mitaka 版本,这个版本是2016年出的最新版本。

当然Fuel 9.0也增强了很多其他特性,比如对Huge Pages,SR-IPV和Intel的DPDK.

Fuel 在早先的版本中已经去掉了利用Centos来搭建Openstack的环境,在9.0中只使用Ubuntu和Ubuntu + UCA的部署方式.

下面进入安装部署环节:

1,环境准备
1.1  Fuel 镜像下载
使用下方网址即可下载最新的Fuel release image.用于部署fuel-master,一般为BT文件,利用下载工具下载即可.
https://www.fuel-infra.org/      
DSC0000.png

1.2 硬件资源

官方推荐使用4核心的CPU,以及4G以上内存、10G网卡、500G物理磁盘.但是在实验环境下,双核CPU,4G内存 1000M网卡和50G以上的硬盘就足够了,切记的是硬盘不得小于50G,因为这样会导致安装失败.
当然官方给出的实验要求比我推荐的要求要低,体现在内存的设置上,如果设置为2G内存会导致安装速度缓慢,所以建议条件容许的情况下加大设备资源.
下面是官方给出的推荐的生产以及实验环境介绍.
For a production environment:


  • Quad-core CPU

  • 4 GB RAM

  • 10 Gigabit network port

  • Disk size depends on the number of deployed nodes.     All nodes send logs to the Fuel Master node using rsyslog. During     installation, Fuel creates a separate partition for /var to store the remote logs and allocates 40% of     the disk size to it. Our recommendation for the remote logs partition is     20 GB per node. If you deploy 10 nodes with Fuel, you need to have a (20 x     10) x 2.5 = 500 GB disk for the Fuel Master node.

  • IPMI access through an independent management     network

For a testing environment:


  • Dual-core CPU

  • 2 GB RAM

  • 1 Gigabit network port

  • 50 GB disk

  • Physical console access


1.3软件选择

官方推荐使用Virtual-box来安装部署Fuel-master节点.当然你也可以选用VM来部署.效果都是一样的,只是有些人反应用VM来装会产生一些问题,所以在这里我选择Virtual-box 来进行安装部署.


2.部署 Fuel-Master

2.1 创建Fuel-master 虚拟机.

新建一个虚拟机名称为Fuel-master,当然你也可以自己定义名称.

DSC0001.png



这里什么要选择Red Hat是因为Fuel的底层使用的是Centos,但是Virtual-BOX里面没有Centos选项,只能选择最贴近的Red Hat,而且不要忘了选择64位系统.如果选择32有可能会安装失败.

[root@fuel~]# rpm -q centos-release

centos-release-7-2.1511.el7.centos.2.10.x86_64

[root@fuel~]# cat /etc/redhat-release

CentOS Linux release 7.2.1511 (Core)


设置虚拟机内存大小为4G.

DSC0002.png



选择“现在创建虚拟磁盘”.


DSC0003.png


硬盘文件类型选择为VDI类型.

DSC0004.png



磁盘空间分配建议选择动态分配,如果选择固定大小,系统会直接在磁盘中扣除相对应的磁盘空间.当然如果磁盘空间足够大也可以直接设置为固定大小.

DSC0005.png

DSC0006.png



最少要求50G,这里我选择52G.如果是部署CEE使用的Fuel,建议设置为70G.

如果磁盘选项的是固定大小,这里需要创建虚拟磁盘可能需要几分钟. 根据磁盘的性能不同等待时间也不同. 如果设置保存的盘符没有足够空间,会直接提示报错。所以建议大家选择动态分配,可以节省一些空间.


DSC0007.png



下面进行VBOX的网络设置

管理à全局设定à网络


配置三块虚拟网卡,信息如下:

这里的信息和Fuel的网络信息要对称,如果不想用下面的地址,需要在Fuel设置里面同步更改,不然会导致部署Openstack失败.

Host-Only Ethernet Adapter

IPv4: 10.20.0.10

Mask: 255.255.255.0

DHCP: Unable


Host-Only Ethernet Adapter #2

IPv4: 172.16.0.1

Mask: 255.255.255.0

DHCP: Unable


Host-Only Ethernet Adapter #3

IPv4: 192.168.0.1

Mask: 255.255.255.0

DHCP: Unable

网卡芯片选择Intel的PRO/1000,切记混杂模式一定要设置为Allow all.并且禁用DHCP.

以前尝试过芯片选择为PCnet-PCI结果失败了.在做CEE部署的时候网卡类型也要选择PRO/1000.

  
DSC0008.png

DSC0009.png

接下来运行虚拟机,运行时会弹出让你选择ISO文件,这里选择Fuel的镜像文件即可.


DSC00010.png


几秒钟后会进入Fuel 安装选择界面,这里选择第一项,然后系统会自动加载和安装Fuel.

DSC00011.png

DSC00012.png

一段时间后进入Fuel-Menu界面你可以在这里修改默认密码和一些设置.

PS:Fuel 8.0版本中安装系统后会重启,重启后出现这个界面有15秒的时间按任意键进入 fuel-menu.但是在9.0版本中会自动进入这个界面.所以不用担心会不及时按键盘.

DSC00013.png

DSC00014.png

选择Skip building bootstrap image,因为如果不选择的话,默认Fuel会从国外获取源,但是我并没有设置外部网络,而且就算设置了外部网络可以访问外网,速度也是很慢的,所以这里还是会导致安装失败.选择以后会使用本地源进行部署,后面会说明关于本地源如何下载和加载.

DSC00015.png

选择Save and quit,然后这里需要等待1分钟的样子,因为这里要检查更改是否合规,检查通过后系统就会继续安装Fuel了.

DSC00016.png


经过漫长的等待,具体多久无法统计了,大概2小时就可以进入Fuel的登录界面了.此过程中切勿关闭或者重启虚拟机.任何不必要的操作都可能导致安装失败.然后会出现下面的画面,到这里Fuel-master的安装就结束了.

DSC00017.png

在浏览器打开https://10.20.0.2:8443测试一下是否安装成功.如果这里没有显示Fuel的登录界面,说明安装中忽略了一些步骤,或者资源分配不足.

DSC00018.png

保存快照,以便日后恢复.

DSC00019.png


2.2 增加本地源.

打开 /var/www/nailgun 目录 ,用ls发现目录下现在是没有mirrors文件夹.因为我采用的是离线模式安装,没有从官方的链接中下载一些必要的库,所以从国外找了一些源下载了以后放置在网盘中了.

  cd /var/www/nailgun

DSC00020.png

我已经上传本地源文件到我的百度盘,下载下面2个连接的文件包,传输到/var/www/nailgun目录下,有冲突的部分直接替换掉.

Bootstraps:链接:http://pan.baidu.com/s/1nu7lY6P密码:b3qt

Mirrors :链接:http://pan.baidu.com/s/1kVwaZJ5 密码:hhsc

使用XFTP软件将本地源文件copyFuel,具体如下图.也可以自己在PC或者服务器上建立FTP服务器,然后利用wget命令传输文件.总之不管用什么方法都可以,只要能把文件上传到相应的文件夹内即可.

DSC00021.png

DSC00022.png

DSC00023.png

运行 Fuel-createmirror命令, 此命令目的是让web后台管理界面的源地址变为本地地址.(默认为一些官方链接下载地址,这些地址速度很慢,有的甚至连接不到,所以这里替换为本地源地址.)

[root@fuel nailgun]#fuel-createmirror

This script is DEPRECATED. Please usefuel-mirror utility!

Starting new HTTP connection (1):10.20.0.2

Starting new HTTP connection (1):10.20.0.2

Starting new HTTP connection (1):10.20.0.2

Starting new HTTP connection (1):10.20.0.2

Failed to open url -http://mirror.fuel-infra.org/mos-repos/ubuntu/9.0/dists/mos9.0/main/binary-amd64/Release: <urlopen error [Errno -2] Name orservice not known>. retries left - 2.

Traceback (mostrecent call last):

  File"/usr/lib/python2.7/site-packages/packetary/library/connections.py",line 214, in open_stream

    return self.opener.open(request)

  File"/usr/lib64/python2.7/urllib2.py", line 431, in open

    response = self._open(req, data)

  File"/usr/lib64/python2.7/urllib2.py", line 449, in _open

    '_open', req)

  File"/usr/lib64/python2.7/urllib2.py", line 409, in _call_chain

    result = func(*args)

  File"/usr/lib64/python2.7/urllib2.py", line 1244, in http_open

    return self.do_open(httplib.HTTPConnection,req)

  File"/usr/lib64/python2.7/urllib2.py", line 1214, in do_open

    raise URLError(err)

URLError: <urlopenerror [Errno -2] Name or service not known>

Failed to open url -http://mirror.fuel-infra.org/mos-repos/ubuntu/9.0/dists/mos9.0/main/binary-amd64/Release:<urlopen error [Errno -2] Name or service not known>. retries left - 1.

Traceback (mostrecent call last):

File "/usr/lib/python2.7/site-packages/packetary/library/connections.py",line 214, in open_stream

    return self.opener.open(request)

  File"/usr/lib64/python2.7/urllib2.py", line 431, in open

    response = self._open(req, data)

  File"/usr/lib64/python2.7/urllib2.py", line 449, in _open

    '_open', req)

  File"/usr/lib64/python2.7/urllib2.py", line 409, in _call_chain

    result = func(*args)

  File"/usr/lib64/python2.7/urllib2.py", line 1244, in http_open

    return self.do_open(httplib.HTTPConnection,req)

  File"/usr/lib64/python2.7/urllib2.py", line 1214, in do_open

    raise URLError(err)

URLError: <urlopenerror [Errno -2] Name or service not known>

Failed to open url -http://mirror.fuel-infra.org/mos-repos/ubuntu/9.0/dists/mos9.0/main/binary-amd64/Release:<urlopen error [Errno -2] Name or service not known>. retries left - 0.

Traceback (most recentcall last):

  File"/usr/lib/python2.7/site-packages/packetary/library/connections.py",line 214, in open_stream

    return self.opener.open(request)

  File"/usr/lib64/python2.7/urllib2.py", line 431, in open

    response = self._open(req, data)

  File"/usr/lib64/python2.7/urllib2.py", line 449, in _open

    '_open', req)

  File"/usr/lib64/python2.7/urllib2.py", line 409, in _call_chain

    result = func(*args)

  File"/usr/lib64/python2.7/urllib2.py", line 1244, in http_open

    return self.do_open(httplib.HTTPConnection,req)

  File"/usr/lib64/python2.7/urllib2.py", line 1214, in do_open

    raise URLError(err)

URLError: <urlopenerror [Errno -2] Name or service not known>

<urlopen error[Errno -2] Name or service not known>

Starting new HTTP connection(1): 10.20.0.2

Starting new HTTPconnection (1): 10.20.0.2

Starting new HTTPconnection (1): 10.20.0.2

Starting new HTTPconnection (1): 10.20.0.2

Updating the Clusterrepositories...

Updating the releaserepositories...

Try to update theRelease 'Mitaka on Ubuntu 14.04'

Try to update theRelease 'Mitaka on Ubuntu+UCA 14.04'

Operations have been completed successfully

更换本地源后和bootstrp后,查看是否有已经激活的bootstrp.

DSC00024.png

如果这里没有激活很可能是你下载的文件损坏了.可以尝试找其他bootstrp文件来覆盖.


3.增加node节点虚拟机.

新建两个子节点虚拟机 (controller/compute), 建议设置4G内存,128G磁盘空间.

内存设置低于4G很可能会部署失败,我这里设置为6G.

并且要开启VT-x和AMD-V,以便支持intel和AMD的CPU开启硬件虚拟化.如果不开启很可能会部署失败.

PS:在VM下面曾经尝试用4G内存来进行部署,结果失败很多次,但是还是成功了,需要拼人品.建议如果在VM下部署失败建议加大内存.

  
DSC00025.png

不要忘记关联网卡,具体配置如下.

.

DSC00026.png

开启虚拟机后选择ubuntu_bootstrap启动.

DSC00027.png

DSC00028.png

DSC00029.png

8.0版本搭载的是Centos 7 bootstrap,但是在9.0使用的是Ubuntu 14.04.4的bootstrap.

使用bootstrap 引导后,我们的Fuel-master 就可以发现节点了.

DSC00030.png

4.部署Openstack

下面开始使用Fuel部署Openstack

1)登录https://10.20.0.2:8443/#login

DSC00031.png

4.搭建部署Openstack

新建Openstack环境.

Fuel 9.0 版本去除了Centos,只保存了Ubuntu的部署方式,但是比之前多出了一个模式叫做Ubuntu+UCAUCA use Ubuntucloud archive as a source of packages for Openstack components

在这里我们选择Mitaka on Ubuntu 14.04.

  
DSC00032.png

DSC00033.png

选择QEMU-KVM.

DSC00034.png


网络这里选用neutron VLAN模式,因为这里只是在做测试,并没有百万个租户. 如果使用VXLAN 每个管理域可以定义1600万个VNI, 每一个VNI可以包含4096VLAN.可以更好的规划和隔离租户.

DSC00035.png

后端存储选择默认的LVM,其实也可以选用Ceph,但是Ceph需要新建一个Ceph节点,在测试环境下并不需要.

DSC00036.png

这里可以增加附加服务和特性, 包括Ceilometer计费以及用于支持Hadoop集群的Sahara等等.在测试环境就不增加这些了,如果是生产按照需求增加服务,而且这里不选择也无所谓完成部署后还是可以增加的.

DSC00037.png


配置节点属性,如下图所示.

在此定义我们之前发现的两个节点.

  

DSC00038.png

DSC00039.png

设置node网络接口

将网络接口配置改变为下图的状态,鼠标拖拽模块即可改变.这里设置错误也会导致部署失败.

DSC00040.png


更改NTPserver地址为Fuel-master的地址.

DSC00041.png


设置完成后进行网络验证,如有错误信息就按照错误提示进行修改.

DSC00042.png

定义完节点后在fuel上使用fuel node 命令可以发现Pending_roles已经发生改变.

  
DSC00043.png

DSC00044.png

  
点击deploychanges 进行部署.


这时Fuel就开始自动部署Openstack.

第一个步骤是利用Cobbler Server安装Ubuntu系统.

  
DSC00045.png

  
安装过程中可以看到站点的Status变为了provisioning, 含义为正在部署底层系统.并且角色也从Pending转移到roles下面了.

DSC00046.png

部署完ubuntu14.04以后,Fuel会继续部署Openstack, 这里是使用Puppet Master 利用SSH协议的SCP命令将Openstack组件部署到node的.

DSC00047.png

状态已经更新为deploying.

DSC00048.png

经过漫长的等待,如下图显示,已经成功安装部署了节点.

DSC00049.png

点击Horizon 进行登录, 默认用户名密码都是admin.

  

DSC00050.png

DSC00051.png

  
完毕…现在大家可以体验OpenstackMitaka版本了.

  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-496759-1-1.html 上篇帖子: OpenStack安装过程Yum源的问题解决 下篇帖子: 为 Neutron 准备物理基础设施(II)
累计签到:6 天
连续签到:1 天
发表于 2019-5-14 14:38:32 | 显示全部楼层
可以参考了。支持

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表