自动化部署--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目录下

[root@fuel ~]# 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"

 

 



posted @ 2018-12-21 18:43  苏三卖酒  阅读(2424)  评论(0编辑  收藏  举报