基于VM的Openstack搭建
IP | 主机名称 |
---|---|
192.168.100.10 | controller |
192.168.100.20 | compute |
双节点搭建Openstack queens
VMnet1: 192.168.100.0/24
VMnet8: 192.168.200.0/24
配置IP地址
Controller节点的IP
[root@controller ]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=71127d19-030d-4e80-83a0-168369a6e506
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.100.10
NETMASK=255.255.255.0
GATEWAY=192.168.100.1
Compute节点的IP
[root@compute ]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=71127d19-030d-4e80-83a0-168369a6e506
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.100.20
NETMASK=255.255.255.0
GATEWAY=192.168.100.1
controller + compute
关闭防火墙
[root@controller ]#systemctl stop firewalld
[root@controller ]# setenforce 0
配置映射
[root@controller ]# cat /etc/hosts
192.168.100.11 controller
192.168.100.12 compute
controller节点
配置yum源
[root@controller ]# vi /etc/yum.repos.d/local.repo
[centos]
name=centos
baseurl=file:///opt/centos
gpgcheck=0
[iaas]
name=iaas
baseurl=file:///opt/iaas/iaas-repo
gpgcheck=0
安装Httpd
[root@controller ]# yum install -y httpd
[root@controller ]# vim /etc/httpd/conf/httpd.conf
修改配置文件
重启服务
[root@controller ]# systemctl restart httpd
compute节点
配置yum源
[root@compute ]#vi /etc/yum.repos.d/local.repo
[centos]
name=centos
baseurl=http://192.168.100.10/centos
gpgcheck=0
[iaas]
name=iaas
baseurl=http://192.168.100.10/iaas/iaas-repo
gpgcheck=0
compute节点分出两个分区格式化xfs: 500G
fdisk /dev/sdb >> n > p > 默认 > +500G >n > p > 默认 > +500G
mkfs.xfs /dev/sdb1
mkfs.xfs /dev/sdb2
安装iaas-openstack(controller+compute)
yum install -y iaas-openstack
配置环境变量
[root@controller ]# cat /etc/iaas-openstack/openrsc.sh
#--------------------system Config--------------------##
#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=demo
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.100.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=201
#--------------------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=sdb1
#--------------------Swift Config---------------------##
#Password for Keystore swift user. exmaple:000000
SWIFT_PASS=000000
#The NODE Object Disk for Swift. example:md126p4.
OBJECT_DISK=sdb2
#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
脚本部署-----
------------------------------------------安装环境---------------------------------------
Controller节点
执行脚本iaas-pre-host.sh进行安装
Compute节点
执行脚本iaas-pre-host.sh进行安装
----------------------------------------安装Mysql服务-----------------------------------
Controller节点
执行脚本iaas-install-mysql.sh进行安装。
----------------------------------------安装keystone服务--------------------------------
Controller节点
执行脚本iaas-install-keystone.sh进行安装。
----------------------------------------安装glance服务-----------------------------------
Controller节点
执行脚本iaas-install-glance.sh进行安装
----------------------------------------安装nova服务-------------------------------------
Controller节点
执行脚本iaas-install-nova-controller.sh进行安装
Compute节点
执行脚本iaas-install-nova-compute.sh进行安装
----------------------------------------安装neutron服务----------------------------------
Controller节点
执行脚本iaas-install-neutron-controller.sh进行安装
Compute节点
执行脚本iaas-install-neutron-compute.sh进行安装
----------------------------------------安装dashboard服务-------------------------------
Controller节点
执行脚本iaas-install-dashboard.sh进行安装
----------------------------------------安装Cinder服务------------------------------------
Controller节点
执行脚本iaas-install-cinder-controller.sh进行安装
Compute节点
执行脚本iaas-install-cinder-compute.sh进行安装
----------------------------------------安装Swift服务--------------------------------------
Controller节点
执行脚本iaas-install-swift-controller.sh进行安装
Compute节点
执行脚本iaas-install-swift-compute.sh进行安装
----------------------------------------安装heat服务----------------------------------------
Controller节点
执行脚本iaas-install-heat-controller.sh进行安装