使用指令碼部署OpenStack平臺
阿新 • • 發佈:2021-12-16
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