自动化部署--openstack

Posted 18513387476-com

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自动化部署--openstack相关的知识,希望对你有一定的参考价值。

技术分享图片技术分享图片技术分享图片技术分享图片
技术分享图片技术分享图片技术分享图片技术分享图片技术分享图片技术分享图片技术分享图片

一、安装环境:

1、 所需物理主机的要求如下

内存:8GB+,推荐16GB;(少于8GB的就免谈了)

磁盘:500GB+

物理机OSubuntu-desktop-amd64 14.04(推荐) 或windows64

物理机安装软件:安装virtualBox4.3.36及以上版本以及相应扩展包(推荐

4.3.36for ubuntu 5.0.20for windows)。系统需要支持IVT即虚拟化。

2、 如何查看IVT

开机进入系统主板,Advance->Intel Virtualization Tech->设置为enable

3、网络环境

3.1、Vmware网络设置:


技术分享图片
 

3.2云环境物理网络规划:

网卡名称

IP地址

描述

vmnet2

10.20.0.0/24

PXE网络

vmnet3

10.0.0.0/24

外部网络

vmnet4

192.168.10.0/24

管理网络

vmnet5

192.168.20.0/24

存储网络

vmnet6

192.168.30.0/24

私有网络

 

技术分享图片
 

 

SSH+PXE网络:用来通过ssh连接到controller nodecompute node操作管理物理服务器

外部网络:controller每个节点需要一个外网IP地址,网络还用于虚拟机外部网络访问(例如float网络)

管理网络:管理网络OpenStack api网络

存储网络:机访问ceph的网络

私有网络:租户网络(vm网络)

 

 

二、安装fule

安装步骤:
1.环境设置
2.安装Fuel主节点
3.部署openstack节点
4.部署结果检查
5.虚拟环境设置

1、fule下载地址:

注意:安装fule时系统盘的大小最少需要50GB

 

2、启动fule-master虚拟机

 

(如果使用vmware虚拟机创建磁盘的类型为IDE,否则在安装fuel的时候报错),看到如下画面,选择第一项,如果要更改PXE网络的IP地址和子网掩码等信息,按tab键更改,更改完成后按enter进行安装;推荐默认的IP地址和子网掩码,这里直接enter进行安装。

技术分享图片

安装过程不用人为干预,一直等待安装便可,注意:安装master的过程强烈推荐使用默认配置,不要更改任何配置,以免安装完毕出问题。

 

大概10分钟左右进入setup界面,如下

技术分享图片
 
 

4、fuel网卡配置

技术分享图片
 
 
 

5、设置允许ssh的网段

技术分享图片
 
 

6、设置PXE地址池

技术分享图片
 
 

7、配置DNS

技术分享图片
 
 

8、选择Bootstrap Image为Skip building bootstrap image,否则会报错

技术分享图片
 
 

9、设置ntp服务器地址,一般选择fuelmaster节点自己

技术分享图片
 
 

10、保存退出

技术分享图片
 

注意:如果安装过程中没有出现上面设置界面输入fuelmenu命令,进入配置。

配置完成选择

Quit setup > Save and Quit

继续等待个小时左右提示安装ok即可

技术分享图片
 

通过浏览器访问:https://10.20.0.2:8443(用户名和密码都是admin

技术分享图片
 
 

三、更新fuel9.0版本到fuel9.2

 
 

1、安装fuel9.2的源

 

2、更新fuelmaster以下playbook必须在指定路径执行

cd mos_playbooks/mos_mu

ansible-playbook playbooks/mos9_prepare_fuel.yml

ansible-playbook playbooks/update_fuel.yml  

-e ‘{"rebuild_bootstrap":false}‘

ansible-playbook playbooks/update_fuel.yml

ansible-playbook

playbooks/mos9_fuel_upgrade_kernel_4.4.yml

验证版本更新成功

fuel2 fuel-version

 

3、制作本地MOS和mirrors源

修改配置文件/usr/share/fuel-mirror/ubuntu.yaml

ubuntu_baseurl http://mirrors.aliyun.com/ubuntu

开始在线同步mirrors源到本地

fuel-createmirror

 

4、制作bootstrap源

创建bootstrap配置 文件

 

 

cd /usr/share/fuel_bootstrap_cli/

cp fuel_bootstrap_cli.yaml.sample fuel_bootstrap_cli.yaml

修改配置文件取消配置文件95~115行注释;修改源地址为http://mirrors.aliyun.com

sed –i ‘s/archive.ubuntu.com/mirrors.aliyun.com/g

fuel_bootstrap_cli.yaml

在线制作bootstraps

fuel-bootstrap build

fuel-bootstrap import /tmp/$uuid.tar.gz

fuel-bootstrap activate

验证bootstrap制作完成

fuel-bootstrap list


 

 
 

四、配置本地源 (可选)

 
1.如果安装完成miranits 9.0后不update9.2时,从完成第二章节(安装fule)后,直接开始此章节

下载下面2个连接的文件包,传输到/var/www/nailgun目录下

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

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

查看/var/www/nalign目录文件

技术分享图片
 
 

2、将下载的mirrors文件上传到/var/www/nailgn目录下并解压。

unzip mirrors.zip

mv mirrors /var/www/nailgun/

运行fuel-createmirrorfuel地址变为本地源执行的过程中可能需要联网,如果fuel master节点不能访问外网createmirror的时候会报错,这个错误可以忽略。

fuel-createmirror

技术分享图片
 
 

3、导入Bootstrap

3.1、先将bootstrap.tar.gz拷贝至master节点的/root目录下

[[email protected] ~]# ls

anaconda.cmdline.vars                         anacondapost-configure-repos.log

anaconda-ks.cfg                                 anaconda-post-configure-sysconfig.log

anaconda-parse-cmdline.log                  anaconda-post-interface-settings.log

anaconda-post-before-chroot.log            anaconda-post-partition.log

anaconda-post-configure-autologon.log    bootstrap.tar.gz

 
 

3.2、查看是否有激活的bootstrap

技术分享图片

(如果为空,)
 
 

3.3、如果没有使用其他bootstrp文件覆盖

cp -rf bootstraps /var/www/nailgun/

再次查看

技术分享图片
 
 

3.4、激活bootstrap

fuel-bootstrap ctticate +(uuid号)
技术分享图片
 

还可以使用在线创建bootstrap

 

fuel-bootstrap build --activate


 
 

3.5、验证bootstrap

技术分享图片
3.6 开启部署机,选择
技术分享图片
五.创建部署openstack 环境
1. 创建一个openstack 环境
登录到 控制台 
技术分享图片
 
2.
技术分享图片
3. 
技术分享图片
 
技术分享图片
 
 
技术分享图片
技术分享图片
 
技术分享图片
 
2.设置 openstack 环境
选择 firewalld 驱动
1
技术分享图片
 
2  设置计算类型
技术分享图片
3. 选择要安装的服务
技术分享图片
 

设置公开网络(该网络如果要部署高用环境会在三个控制节点配置br-ex网桥并配置业务网络IP地址,包括创建float网络时创建router网关也会绑定一个业务IP地址,需要合理的分配IP地址即可

技术分享图片
4. 设置存储网络
技术分享图片
5.设置管理网络
技术分享图片
6.设置私有网络
技术分享图片
7.设置浮动IP 地址段
技术分享图片
8.设置虚拟网络 (admin 用户创建的租户网络)
技术分享图片
9.其他设置,设置完成后点击保存
技术分享图片
3.添加节点
 

至少需要一个控制节点和三个计算节点,计算节点需要虚拟机添加2100GB磁盘

技术分享图片
 

查看节点

技术分享图片
 

分配控制节点

 

技术分享图片
 

 

分配计算节点

技术分享图片
 

配置控制节点网卡

网卡顺序:PXE存储、管理、私有公开(部分截图)

技术分享图片
 

配置计算节点网卡

网卡顺序:PXE、存储、管理、私有公开(部分截图)

技术分享图片
 

查看角色

技术分享图片
 

检测网络连通性

技术分享图片
 

点击部署

技术分享图片
部署成功
技术分享图片
 
 

4、部署报错记录

 

ERR(/Stage[main]/Main/Exec[sync_time_shell]/returns) change from notrun to 0 failed: /bin/bash "/etc/puppet/shell_manifests/sync_time_command.sh" returned 1 instead of one of [0]

测试节点使用ntpdate命令无法与fuelmaster节点同步时间,解决ntp-server即可。

 

ERROR: Unable to communicate with at least one of NTP server, checked the following host(s): ["0.fuel.pool.ntp.org", "1.fuel.pool.ntp.org", "2.fuel.pool.ntp.org"] on node node-1.domain.tld

openstack各个节点添加host

172.16.1.21.fuel.pool.ntp.org

172.16.1.20.fuel.pool.ntp..org

172.16.1.22.fuel.pool.ntp.org

或者fuelmaster ntp配置文件中删除server

 

Option "verbose" from group "DEFAULT" is deprecated for removal.  Its value may be silently ignored in the future.

每个控制节点:

vim /etc/cinder/cinder.conf

注释掉verbose = true

执行su -s /bin/bash cinder -c "cinder-manage db sync"

 

 








以上是关于自动化部署--openstack的主要内容,如果未能解决你的问题,请参考以下文章

saltstack 自动化部署openstack queens 版本

OpenStack——自动安装部署

OpenStack——自动安装部署

openstack Q版本自动化部署课程直播通知

OpenStack——使用Kolla部署OpenStack-allinone云平台

openstack--自动部署