02_openstack私有云部署

目录

一、环境准备

1、准备服务器

2、主机名与域名配置

3、yum仓库配置

4、配置时间同步

二、安装Openstack与Nova依赖环境

1、Nova依赖软件包安装

2、Openstack依赖软件包安装

三、搭建私有云

1、环境检查

2、配置应答文件answer.ini

3、检查网络

四、管理页面登录


一、环境准备

1、准备服务器

4台centos 7.5服务器:

服务器 主机名 IP 配置 备注
openstack控制节点 openstack 192.168.2.10 2C 7G

关闭selinux

卸载firewalld

卸载NetworkManager

设置network开机自启

nova计算节点 nova1 192.168.2.20 2C 4G

关闭selinux

卸载firewalld

卸载NetworkManager

设置network开机自启

nova计算节点 nova2 192.168.2.30 2C 4G

关闭selinux

卸载firewalld

卸载NetworkManager

设置network开机自启

内网源服务器

时间同步服务器

http 192.168.2.40 1C 1G

关闭selinux

卸载firewalld

2、主机名与域名配置

(3台做主机名解析)

vim /etc/hosts
192.168.2.10     openstack
192.168.2.20     nova1
192.168.2.30     nova2

openstack安装时需要使用外部dns来解析域名,3台主机都如下配置:

vim  /etc/resolv.conf
#把无关项都去掉,search后面得域名后缀都删除,去掉search开头得所有行
nameserver 114.114.114.114

注意:/etc/resolv.conf里search开头的配置一定要删除干净,不然在后面创建云主机访问控制台的时候会报错,会自动给nova节点配置文件/etc/nova/nova.conf的vncserver_proxyclient_address配置项的主机名后面多加一个.localdomain,会导致nova节点无法ping通该错误域名。

3、yum仓库配置

yum镜像下载地址:

链接:https://pan.baidu.com/s/1OtBp89aHrnF-tKLW9dscdg?pwd=1234 
提取码:1234 
 

其中:

  • RHEL7-extras.iso 提供Python依赖软件包
  • RHEL7OSP-10.iso 光盘拥有众多目录,每个目录都是一个软件仓库,我们配置其中2个仓库,openstack主要仓库为rhel-7-server-openstack-10-rpms和rhel-7-server-openstack-10-devtools-rpms 

此处选择http主机为yum源服务器,将RHEL7-extras.iso和RHEL7OSP-10.iso下载解压到openstack主机,并搭建http源,如果是内网机器,还要加一个系统源,本次实验是外网环境,就不单独搭建系统源了,如果内网环境请自行添加:

(建议将http源单独找一台服务器,实际部署有试过将http源部署在openstack服务器,在安装openstack的时候有报错,并且导致http无法访问的情况)

#http主机执行
yum install httpd -y

mkdir -p /var/www/html/{extras,openstack}  

将RHEL7-extras.iso内容挂载复制到/var/www/html/extras目录下

将RHEL7OSP-10.iso内容挂载复制到/var/www/html/openstack目录下

chmod -R 755 /var/www/html/

systemctl enable --now httpd

02_openstack私有云部署_第1张图片

 ​​​​02_openstack私有云部署_第2张图片

如上可以正常访问,下面开始配置yum源客户端:

三台主机均如下相同配置:

vim /etc/yum.repos.d/openstack.repo

内容如下,添加三个openstack安装源:

[extras]
name=CentOS-$releasever - Extras
baseurl="http://192.168.2.40/extras"
enabled=1
gpgcheck=0

[openstack]
name=CentOS-$releasever - Openstack
baseurl="http://192.168.2.40/openstack/rhel-7-server-openstack-10-rpms"
enabled=1
gpgcheck=0

[openstack-devtools]
name=CentOS-$releasever - Openstack-dev-tools
baseurl="http://192.168.2.40/openstack/rhel-7-server-openstack-10-devtools-rpms"
enabled=1
gpgcheck=0
yum clean all

yum repolist

02_openstack私有云部署_第3张图片

 源搭建成功。

4、配置时间同步

(时间同步服务器建议也是单独找一台服务器,实际部署有试过和openstack共享服务器,在安装openstack的时候有报错,是时间无法同步)

服务端:

同样将http主机(192.168.2.40)服务器作为时间服务器,其他主机向该机进行时间同步

#在http服务器执行
yum install chrony -y

vim /etc/chrony.conf
#新增如下内容
bindacqaddress 0.0.0.0
allow 192.168.2.0/24
systemctl restart chronyd
systemctl enable  chronyd

客户端:

(openstack和nova主机均如下配置):

#在openstack和nova主机配置
yum install chrony -y

vim /etc/chrony.conf
#配置如下内容,将自带server配置都注释或删除,就用下面一个server地址
server 192.168.2.40 iburst
systemctl restart chronyd

systemctl enable chronyd

检查时间同步状态:

#在nova主机执行
chronyc sources -v

02_openstack私有云部署_第4张图片

二、安装Openstack与Nova依赖环境

1、Nova依赖软件包安装

在nova1和nova2主机安装Nova相关包:

qemu-kvm:主包

libvirt-daemon:libvirt守护进程

libvirt-daemon-driver-qemu:libvirt启动

libvirt-client:libvirt客户端

python-setuptools:python工具包

openstack启动虚机得过程如下:

user指令--->openstack--->nova--->libvirtd--->qemu-kvm,其中openstack和nova属于openstack项目,libvirtd和qemu-kvm属于单独得虚拟化平台,所以需要单独安装:

02_openstack私有云部署_第5张图片

yum install qemu-kvm libvirt-daemon libvirt-daemon-driver-qemu libvirt-client python-setuptools -y

systemctl enable --now libvirtd

2、Openstack依赖软件包安装

Openstack安装2个软件包

  • python-setuptools
  • openstack-packstack
#在openstack主机安装
yum install python-setuptools openstack-packstack -y

三、搭建私有云

1、环境检查

  • 禁用selinux、卸载firewalld和NetworkManger
  • 主机名必须能够解析
  • 检查配置主机yum源(含系统源、extras源、和openstack相关源)
  • 依赖软件包是否安装(参见上文第二节:安装nova和openstack依赖环境)
  • 检查NTP服务器是否可用
  • 检查/etc/resolv.conf不能有search开头得行

2、配置应答文件answer.ini

(在openstack主机操作):

cd /root

packstack --gen-answer-file=answer.ini

ls

02_openstack私有云部署_第6张图片

 如上会生成一个应答文件。

修改应答文件:

vim  /root/answer.ini

需要修改得内容如下:

#42行:为是否安装swift组件,swift一般在做存储云才用到,这里可不装
CONFIG_SWIFT_INSTALL=n  

#45、49、53行:计费相关
CONFIG_CEILOMETER_INSTALL=n
CONFIG_AODH_INSTALL=n
CONFIG_GNOCCHI_INSTALL=n

#75行:时间服务器地址,这里填写NTP时间服务器地址
CONFIG_NTP_SERVERS=192.168.2.40

#95行:默认就是本机IP,不做更改,这个是设置openstack Dashboard管理节点是在哪台机器
CONFIG_CONTROLLER_HOST=192.168.2.10

#98行:nova组件安装IP地址,这里需要给几个nova主机安装nova组件,就填几个IP,这里应该将nova1和nova2的IP都写上,但是后面nova2要做其他实验,这里就安装nova1一个
CONFIG_COMPUTE_HOSTS=192.168.2.20 

#102行:在哪个主机安装配置Neutron网络,这里所有主机包含openstack和nova主机都要安装,同样nova2先不装,装openstack和nova1主机
CONFIG_NETWORK_HOSTS=192.168.2.10,192.168.2.20

#330行:用户名,管理员用户名是admin,也可自定义修改
CONFIG_KEYSTONE_ADMIN_USERNAME=admin

#333行:管理员密码,密码默认是随机数,也可自定义修改
CONFIG_KEYSTONE_ADMIN_PW=admin

#840行:支持的网络协议,如果要连互联网,就要支持运营商的flat直连网络
CONFIG_NEUTRON_ML2_TYPE_DRIVERS=flat,vxlan

#910行:ovs网桥名称
CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=physnet1:br-ex

#921行:网桥物理网卡接口,br-ex转发给真实物理网卡ens38,真实物理网卡名需要根据本机实际物理网卡名对于修改
CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:ens38

#1179行:是否需要演示案例,这里设置不,可以减少内存
CONFIG_PROVISION_DEMO=n

修改好应答文件好,可以使用packstack根据应答文件配置安装openstack和nova,nova节点会被远程安装(通过ssh):

packstack --answer-file=/root/answer.ini

执行上面安装后,如果各主机之间没有配置互信,会要求输入各个nova节点主机的密码,按提示输入密码后回车即可,安装过程耗时比较长,需要耐心等待安装。

如下图所示,如果遇到报错,需要按照提示对于修改,然后再重新执行安装,下图是报ntp时间同步报错,和一个NetworkManager启动,而networking没有启用的警告:

02_openstack私有云部署_第7张图片

 修正错误后,重新安装:

02_openstack私有云部署_第8张图片

如上,安装成功,至此一个openstack的私有云就安装完成。

3、检查网络

安装完成后openstack服务会多一个br-ex网络,br-ex和原物理网口模板类型如下:

02_openstack私有云部署_第9张图片

02_openstack私有云部署_第10张图片

 如上可以看到eth0物理网卡的设备类型变成ovs,TYPE是ovs的一个端口ovsport,属于下面的br-ex交换机,上面的br-ex图,看到br-ex设备类型是OVS,类型是OVSBridge。

使用ovs-vsctl命令查看:

ovs-vsctl show

02_openstack私有云部署_第11张图片

 可以看到r-ex相当于一个虚拟交换机,而物理网卡ens38是br-ex的一个端口,用户虚机内部网络的向外转发。同样,在nova节点也是相同配置。

四、管理页面登录

前面介绍过,openstack服务的Web控制面板是属于Horizon服务,Horizon是一个用于管理、控制OpenStack服务的Web控制面板,也称之为Dashboard仪表盘,可以管理实例、镜像、创建密钥对,对实例添加卷、操作Swift容器等。除此之外,用户还可以在控制面板中使用终端(console)或VNC直接访问实例。

登录前,本次部署使用的openstack版本需要修改一个httpd服务配置:

vim /etc/httpd/conf.d/15-horizon_vhost.conf

新增一行配置:

WSGIProcessGroup %{GLOBAL}

02_openstack私有云部署_第12张图片

systemctl reload httpd

登录网址:http://192.168.2.10/dashboard

02_openstack私有云部署_第13张图片

输入安装时answer.ini应答文件里配置的用户名密码,admin/admin登录:

02_openstack私有云部署_第14张图片

 在answer.ini同目录下的keystonerc_admin也记录了web管理端的用户名和密码:

cat /root/keystonerc_admin

02_openstack私有云部署_第15张图片

 也可以通过该文件,通过命令console登录到openstack后台:

source /root/keystonerc_admin

02_openstack私有云部署_第16张图片

你可能感兴趣的:(openstack,openstack,openstack安装,私有云部署,nova)