Openstack 2.4搭建手册
Openstack搭建
一.环境准备
-
管理网络配置为仅主机模式,官方解释通过管理网络访问互联网安装软件包,如果搭建的有内部yum源,管理网络是不需要访问互联网的,配置成hostonly模式也可以。
-
隧道网络配置为仅主机模式,因为隧道网络不需要访问互联网,仅用来承载openstack内部租户的网络流量。
-
外部网络配置为NAT模式,控制节点的外部网络主要是实现openstack租户网络对外网的访问,另外openstack软件包的部署安装也走这个网络,
01.配置网卡 vi /etc/sysconfig/network-scripts/ifcfg-ens3 02.链接CRT 1.关闭防火墙 开机不自启 systemctl stop firewalld;systemctl disable firewalld 2.修改主机名 hostnamectl set-hostname controller hostnamectl set-hostname compute 3.临时关闭selinux 查看状态 setenforce 0 getenforce 4.配置本地DNS域名解析 添加主机域名 [root@controller ~]# echo 192.168.100.10 controller >> /etc/hosts [root@controller ~]# echo 192.168.100.20 compute >> /etc/hosts
controller | compute |
---|---|
vi /etc/hosts | |
192.168.100.10 controller | |
192.168.100.20 compute |
Compute 计算节点进行分区(cinder、swift 使用) parted /dev/sda 对sda分区 p 查看分区列表 mkp 创建分区
mkpart primary 75.2G 95.2G
mkpart primary 1 25G mkpart primary 25 50G
将 CentOS/XianDian-IaaS 镜像传入到 controller 中并挂载 mkdir /opt/{centos,iaas} mount -o loop CentOS-7-x86_64-DVD-1804.iso /mnt/ cp -rf /mnt/* /opt/centos/ umount /mnt mount -o loop XianDian-IaaS-V2.4.iso /mnt/ cp -rf /mnt/* /opt/iaas/ umount /mnt/ 控制节点rm -rfv /etc/yum.repos.d/* #vi /etc/yum.repos.d/local.repo
[centos]
name=centos
baseurl=file:///opt/centos
gpgcheck=0
enabled=1
[iaas]
name=iaas
baseurl=file:///opt/iaas/iaas-repo
gpgcheck=0
enabled=1
yum clean all
测试 yum 源是否配置成功与连通
yum list
yum install -y vsftpd
echo anon_root=/opt/ >> /etc/vsftpd/vsftpd.conf
systemctl restart vsftpd;
systemctl enable vsftpd
[root@compute ~]# rm -rfv /etc/yum.repos.d/*
[root@compute ~]# vi /etc/yum.repos.d/ftp.repo
[centos]
name=centos
baseurl=ftp://controller/centos
gpgcheck=0
enabled=1
[iaas]
name=iaas
baseurl=ftp://controller/iaas/iaas-repo
gpgcheck=0
enabled=1
清除 yum 缓存
[root@compute ~]# yum clean all
测试 yum 源是否配置成功与 controller 远程共享 yum 源连通 如果出现以下错误即链接不上控制节点,需要控制节点重新启动vsftpd
[root@compute ~]# yum list
安装 xiandian 服务
[root@controller ~]# yum install -y iaas-xiandian [root@compute ~]# yum install -y iaas-xiandian
配置 openrc.sh 环境文件
[root@controller ~]# vi /etc/xiandian/openrc.sh 快速删除注释和填充密码命令,请检查仔细并填充相应空白
sed -i -e "s/PASS=/PASS=000000/" -e "s/^#//" /etc/xiandian/openrc.sh :%s/^#//g(一键去注释 ctrl+v选中所有行,按d) :%s/S=/S=000000/g 配置如下:
#Controller Server Manager IP. example:x.x.x.x
HOST_IP=192.168.100.10
#Controller HOST Password. example:000000
HOST_PASS=000000
#Controller Server hostname. example:controller
HOST_NAME=controller
#Compute Node Manager IP. example:x.x.x.x
HOST_IP_NODE=192.168.100.20
#Compute HOST Password. example:000000
HOST_PASS_NODE=000000
#Compute Node hostname. example:compute
HOST_NAME_NODE=compute
#--------------------Chrony Config-------------------##
#Controller network segment IP. example:x.x.0.0/16(x.x.x.0/24)
network_segment_IP=192.168.100.0/24
#--------------------Rabbit Config ------------------##
#user for rabbit. example:openstack
RABBIT_USER=openstack
#Password for rabbit user .example:000000
RABBIT_PASS=000000
#--------------------MySQL Config---------------------##
#Password for MySQL root user . exmaple:000000
DB_PASS=000000
#--------------------Keystone Config------------------##
#Password for Keystore admin user. exmaple:000000
DOMAIN_NAME=000000
ADMIN_PASS=000000
DEMO_PASS=000000
#Password for Mysql keystore user. exmaple:000000
KEYSTONE_DBPASS=000000
#--------------------Glance Config--------------------##
#Password for Mysql glance user. exmaple:000000
GLANCE_DBPASS=000000
#Password for Keystore glance user. exmaple:000000
GLANCE_PASS=000000
#--------------------Nova Config----------------------##
#Password for Mysql nova user. exmaple:000000
NOVA_DBPASS=000000
#Password for Keystore nova user. exmaple:000000
NOVA_PASS=000000
#--------------------Neturon Config-------------------##
#Password for Mysql neutron user. exmaple:000000
NEUTRON_DBPASS=000000
#Password for Keystore neutron user. exmaple:000000
NEUTRON_PASS=000000
#metadata secret for neutron. exmaple:000000
METADATA_SECRET=000000
#Tunnel Network Interface. example:x.x.x.x
INTERFACE_IP=192.168.200.10
#External Network Interface. example:eth1
INTERFACE_NAME=ens34
#External Network The Physical Adapter. example:provider
Physical_NAME=provider
#First Vlan ID in VLAN RANGE for VLAN Network. exmaple:101
minvlan=101
#Last Vlan ID in VLAN RANGE for VLAN Network. example:200
maxvlan=200
#--------------------Cinder Config--------------------##
#Password for Mysql cinder user. exmaple:000000
CINDER_DBPASS=000000
#Password for Keystore cinder user. exmaple:000000
CINDER_PASS=000000
#Cinder Block Disk. example:md126p3
BLOCK_DISK=sda3
#--------------------Swift Config---------------------##
#Password for Keystore swift user. exmaple:000000
SWIFT_PASS=000000
#The NODE Object Disk for Swift. example:md126p4. OBJECT_DISK=sda4
#The NODE IP for Swift Storage Network. example:x.x.x.x.
STORAGE_LOCAL_NET_IP=192.168.100.20
#--------------------Heat Config----------------------##
#Password for Mysql heat user. exmaple:000000
HEAT_DBPASS=000000
#Password for Keystore heat user. exmaple:000000
HEAT_PASS=000000
#--------------------Zun Config-----------------------##
#Password for Mysql Zun user. exmaple:000000
ZUN_DBPASS=000000
#Password for Keystore Zun user. exmaple:000000
ZUN_PASS=000000
#Password for Mysql Kuryr user. exmaple:000000
KURYR_DBPASS=000000
#Password for Keystore Kuryr user. exmaple:000000
KURYR_PASS=000000
#--------------------Ceilometer Config----------------##
#Password for Gnocchi ceilometer user. exmaple:000000
CEILOMETER_DBPASS=000000
#Password for Keystore ceilometer user. exmaple:000000
CEILOMETER_PASS=000000
#--------------------AODH Config----------------##
#Password for Mysql AODH user. exmaple:000000
AODH_DBPASS=000000
#Password for Keystore AODH user. exmaple:000000
AODH_PASS=000000
#--------------------Barbican Config----------------##
#Password for Mysql Barbican user. exmaple:000000
BARBICAN_DBPASS=000000
#Password for Keystore Barbican user. exmaple:000000
BARBICAN_PASS=000000
远程复制 controller 配置文件到 compute,节省时间
[root@controller ~]# scp -r /etc/xiandian/openrc.sh compute:/etc/xiandian/
[root@compute ~]#vi /etc/xiandian/openrc.sh
复制后在 compute 上 vim /etc/xiandian/openrc.sh 更改:INTERFACE_IP=192.168.200.20
安装 pre 脚本
检查 hosts 域名配置、主机名、防火墙、openrc 配置文件无误,
[root@controller ~]# iaas-pre-host.sh
检查 hosts 域名配置、主机名、防火墙、openrc 配置文件无误,安装 pre 脚本
[root@compute ~]# iaas-pre-host.sh
重启主机
[root@controller ~]reboot
[root@compute ~]# reboot
controller安装 mysql 服务
iaas-install-mysql.sh
controller安装 keystone 认证服务
iaas-install-keystone.sh
使环境变量生效
source /etc/keystone/admin-openrc.sh
controller安装镜像服务
iaas-install-glance.sh
安装 nova 服务
[root@controller ~]# iaas-install-nova-controller.sh [root@compute ~]# iaas-install-nova-compute.sh
安装网络服务
[root@controller ~]# iaas-install-neutron-controller.sh [root@compute ~]# iaas-install-neutron-compute.sh
controller安装 web 管理界面
[root@controller ~]# iaas-install-dashboard.sh 浏览器访问:192.168.100.10/dashboard