1. 程式人生 > 其它 >使用指令碼部署OpenStack平臺

使用指令碼部署OpenStack平臺

1.準備兩臺虛擬機器

192.168.100.10controller控制節點

192.168.100.20compute計算節點

準備2臺VMware虛擬機器,手動最小化安裝2臺CentOS 7.2系統,作為OpenStack節點,第一張網絡卡為僅主機模式,第二張網絡卡為NAT模式,以及配置CPU虛擬化,計算節點至少使用4 GB記憶體,硬碟不小於50GB。第一張網絡卡網段為192.168.10.0/24,第二張網絡卡網段為192.168.20.0/24。並對compute節點分兩個區為sda3與sda4。

2.配置yum源(兩個節點都要配,可以使用ftp服務)

[root@localhost ~]# mount /dev/cdrom /opt/centos/
mount: /dev/sr0 防寫,將以只讀方式掛載 [root@localhost
~]# mount /root/XianDian-IaaS-v2.2.iso /opt/iaas mount: /dev/loop0 防寫,將以只讀方式掛載 [root@localhost ~]# ll 總用量 2784676 -rw-------. 1 root root 988 12月 16 09:22 anaconda-ks.cfg -rw-r--r--. 1 root root 2851502080 12月 16 09:34 XianDian-IaaS-v2.2.iso [root@localhost ~]# rm -rf /etc/yum.repos.d/CentOS-* [root@localhost
~]# vi /etc/yum.repos.d/wuhu.repo [root@localhost ~]# cat /etc/yum.repos.d/wuhu.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 [root@localhost ~]# yum clean all 已載入外掛:fastestmirror 正在清理軟體源: centos iaas Cleaning up everything [root@localhost
~]# yum repolist 已載入外掛:fastestmirror centos | 3.6 kB 00:00:00 iaas | 2.9 kB 00:00:00 (1/3): centos/group_gz | 155 kB 00:00:00 (2/3): iaas/primary_db | 2.3 MB 00:00:00 (3/3): centos/primary_db | 2.8 MB 00:00:00 Determining fastest mirrors 源標識 源名稱 狀態 centos centos 3,723 iaas iaas 1,688 repolist: 5,411

3.安裝iaas-xiandian服務

yum install iaas-xiandian -y

配置環境變數

[root@localhost ~]# cat  /etc/xiandian/openrc.sh 
##--------------------system Config--------------------##
##Controller Server Manager IP. example:x.x.x.x
HOST_IP=192.168.100.10

##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 Node hostname. example:compute
HOST_NAME_NODE=compute

##--------------------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

##External Network Interface. example:eth1
INTERFACE_NAME=eno33554960

##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=sdb1

##--------------------Trove Config--------------------##
##Password for Mysql Trove User. exmaple:000000
TROVE_DBPASS=000000

##Password for Keystore Trove User. exmaple:000000
TROVE_PASS=000000

##--------------------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=

##Password for Keystore heat user. exmaple:000000
HEAT_PASS=

##--------------------Ceilometer Config----------------##
##Password for Mysql ceilometer user. exmaple:000000
CEILOMETER_DBPASS=

##Password for Keystore ceilometer user. exmaple:000000
CEILOMETER_PASS=

##--------------------AODH Config----------------##
##Password for Mysql AODH user. exmaple:000000
AODH_DBPASS=

##Password for Keystore AODH user. exmaple:000000
AODH_PASS=

4.安裝基礎服務

[root@localhost ~]# iaas-pre-host.sh

5.跑指令碼

控制節點通過指令碼安裝MySQL資料庫服務:
[root@controller~]# iaas-install-mysql.sh
安裝Keystone認證服務
控制節點通過指令碼安裝Keystone認證服務:
[root@controller ~]# iaas-install-keystone.sh
安裝Glance映象服務
控制節點通過指令碼安裝Glance映象服務:
[root@controller ~]# iaas-install-glance.sh
安裝Nova計算服務
controller節點通過指令碼安裝計算服務:
[root@controller ~]# iaas-install-nova-controller.sh
compute節點通過指令碼安裝計算服務:
[root@compute~]# iaas-install-nova-compute.sh
安裝Neutron網路服務
controller節點通過指令碼安裝網路服務:
[root@controller ~]# iaas-install-neutron-controller.sh
[root@controller ~]# iaas-install-neutron-controller-gre.sh
compute節點通過指令碼安裝網路服務:
[root@compute~]# iaas-install-neutron-compute.sh
[root@compute~]# iaas-install-neutron-compute-gre.sh
安裝Dashboard服務
controller節點通過指令碼安裝Dashboard服務:
[root@controller ~]# iaas-install-dashboard.sh
安裝Cinder塊儲存服務
controller節點通過指令碼安裝塊儲存服務:
[root@controller ~]# iaas-install-cinder-controller.sh
compute節點通過指令碼安裝塊儲存服務:
[root@compute~]# iaas-install-cinder-compute.sh
安裝Swift物件儲存服務
controller節點通過指令碼安裝物件儲存服務:
[root@controller ~]# iaas-install-swift-controller.sh
compute節點通過指令碼安裝物件儲存服務:
[root@compute ~]# iaas-install-swift-compute.sh

6.訪問Dashboard服務

http://IP/dashboard
使用者:admin
密碼:000000