openstack-安装部署

1、主机信息:(为了完成实验的最低配置)

openstack管理主机:
ip:192.168.1.10
2CPU,6G 内存,50G 硬盘
配置静态IP ifcfg-eth0

两台nova主机:
2CPU,4.5G 内存,100G 硬盘
ip:192.168.1.11, 192.168.1.12
配置静态IP ifcfg-eth0

# ip都通过配置文件进行修改,/etc/sysconfig/network-scripts/目录下

主机192.168.1.254作为NTP服务器、YUM仓库

2、配置DNS:(所有主机)

# 配置 dns 服务器 /etc/resolv.conf
vim /etc/resolv.conf	#去掉所有search开头的行
; generated by /usr/sbin/dhclient-script
nameserver 114.114.114.114	#外部dns
# DNS需要是单独的主机
# openstack安装需要使用外部DNS

# 配置主机名 /etc/hosts,能够相互 ping 通
vim /etc/hosts
192.168.1.10 openstack
192.168.1.11 nova01
192.168.1.12 nova02

3、配置NTP时间同步:(所有主机)

vim /etc/chrony.conf
...
server 192.168.1.254 iburst	#指定时间同步服务器,iburst	表示立即生效
...

systemctl restart chronyd	#重启服务
chronyc sources -v	#查看是否同步成功
成功: ^*
失败: ^?

4、配置yum仓库:

# 通过ftp配置网络yum源

Centos7-1804.iso	#提供系统软件
RHEL7-extras.iso  	#提供python依赖软件包
RHEL7OSP-10.iso		#提供openstack相关软件包

mkdir /var/ftp/centos-1804
mkdir /var/ftp/RHEL7-extras
mkdir /var/ftp/RHEL7OSP-10

mount Centos7-1804.iso  /var/ftp/centos-1804/
mount RHEL7-extras.iso  /var/ftp/RHEL7-extras/
mount RHEL7OSP-10.iso /var/ftp/RHEL7OSP-10/

vim /etc/yum.repos.d/local.repo	#baseurl所指路径一定是repodata文件所在的目录
[local_repo]	#系统软件包
name=CentOS-$releasever - Base
baseurl="ftp://192.168.1.254/centos-1804"
enabled=1
gpgcheck=0

[RHEL7-extras]	#python依赖软件包
name=RHEL7-extras
baseurl="ftp://192.168.1.254/RHEL7-extras"
enabled=1
gpgcheck=0

[RHEL7OSP-package]	#openstack主要软件仓库
name=RHEL7OSP-package
baseurl="ftp://192.168.1.254/RHEL7OSP-10/rhel-7-server-openstack-10-rpms"
enabled=1
gpgcheck=0

[RHEL7OSP-devtools]	#packstack软件仓库
name=RHEL7OSP-devtools
baseurl="ftp://192.168.1.254/RHEL7OSP-10/rhel-7-server-openstack-10-devtools-rpms"
enabled=1
gpgcheck=0

yum clean all	#清空缓存
yum repolist	#查看yum软件包,10670个

通过scp把 local.repo 文件发送给所有主机

5、安装依赖包:(所有主机)

yum install -y qemu-kvm libvirt-client libvirt-daemon libvirt-daemon-driver-qemu python-setuptools
yum install -y libvirt-daemon-config-nwfilter	# 这个也需要安装

6、环境检查:(所有主机)

卸载firewalld和NetworkManager(yum -y remove firewalld* NetworkManager*)
关闭selinux(通过配置文件修改)
ip是静态的
使用hosts中的主机名验证各主机可以互相ping通
yum源是否正确,yum repolist,10670个包
依赖包是否安装成功,开启libvirtd服务,设置为开机自启动
NTP、DNS是否正确

7、安装openstack:

配置packstack:(openstack管理主机上配置)
yum install -y openstack-packstack
packstack --gen-answer-file answer.ini	#生成应答文件


修改应答文件:
vim answer.ini
42  CONFIG_SWIFT_INSTALL=n		#关闭对象存储

45  CONFIG_CEILOMETER_INSTALL=n	#关闭计费相关模块
49  CONFIG_AODH_INSTALL=n		#关闭计费相关模块
53  CONFIG_GNOCCHI_INSTALL=n	#关闭计费相关模块

75  CONFIG_NTP_SERVERS=192.168.1.254	#NTP时间服务器地址

98  CONFIG_COMPUTE_HOSTS=192.168.1.11	#nova节点,为了防止安装失败,先配置一台nova节点
102 CONFIG_NETWORK_HOSTS=192.168.1.10,192.168.1.11	#安装neutron

330	CONFIG_KEYSTONE_ADMIN_USERNAME=admin	#管理员账号
333 CONFIG_KEYSTONE_ADMIN_PW=123456			#管理员密码

840 CONFIG_NEUTRON_ML2_TYPE_DRIVERS=flat,vxlan	#网络驱动类型
# 网络驱动类型包括:local(本地网络),flat(直连网络,用于和外网通信),
# vlan,gre(隧道),xvlan(比vlan数量多,用于内部通信)

876 CONFIG_NEUTRON_ML2_VXLAN_GROUP=239.1.1.5	#设置组播地址,最后一个随意不能为0和255,其他固定

910 CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=physnet1:br-ex	#虚拟交换机的名称br-ex
 
921 CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:eth0	#虚拟交换机br-ex外网出口的网卡(连接外网的网卡)
 
1179 CONFIG_PROVISION_DEMO=n	#DEMO演示实例,占内存,所以需要关闭

8、部署openstack:

packstack--answer-file=answer.ini

# 根据配置文件远程自动部署openstack
# 在远程部署的过程中不能手动中断
# 出现错误之后进行排错,然后再次执行上述命令
# 部署完毕之后,网卡eth0的ip被虚拟交换机br-ex拿走,此时网卡eth0不再具有ip地址
# eth0相当于br-ex的接口,类比路由器,所有的数据通过eth0转发
# 通过cat查看eth0的信息和br-ex的信息,/etc/sysconfig/network-scripts/目录下

# 在配置的过程中可能会由于环境问题、内存不足而导致配置失败
# 只要不是人为停止(ctrl+c),在排错之后都可以再次执行上述命令

---以下是配置的过程---
# Welcome to the Packstack setup utility
# The installation log file is available at: /var/tmp/packstack/20190423-170603-b43g_i/openstack-setup.log
# Installing:
# Clean Up                                             [ DONE ]
# Discovering ip protocol version                      [ DONE ]
# [email protected]'s password: 
# [email protected]'s password: 
# Setting up ssh keys
# **** Installation completed successfully ******        #出现这个为成功

------
ovs-vsctl show	#查看虚拟交换机br-ex的信息,能看到eth0和br-ex的关系

9、Horizon管理BUG修改:

# Horizon是由django编写的,运行在apache上
# 当前使用的Horizon存在一个BUG
# 部署完毕之后无法直接访问Horizon

# 解决方法如下:
vim /etc/httpd/conf.d/15-horizon_vhost.conf
35   WSGIProcessGroup apache
36   WSGIApplicationGroup %{GLOBAL}		#添加这一行

# 重新加载服务
systemctl reload httpd	
或
apachectl  graceful

firefox 192.168.1.10	

写总结的第七十一天!!!

你可能感兴趣的:(openstack-安装部署)