OpenStack——雲平臺部署

王智剛發表於2021-12-07

一、配置網路

準備:安裝兩臺最小化的CentOS7.2的虛擬機器,分別新增兩張網路卡,分別為僅主機模式和NAT模式,並且計算節點設定為4G執行記憶體,50G硬碟

1、控制節點——配置網路

控制節點第一個網路卡配置為192.168.100.10
控制節點第二個網路卡配置為192.168.200.10

# (1)虛擬交換機的第一張網路卡選擇僅主機模式,配置為192.168.100.0網段,
# 第二張網路卡選擇NAT模式,配置為192.168.200.0網段;
# 網路介面卡1選擇為自定義僅主機模式,網路介面卡2選擇為自定義NAT模式。

# (2)編輯網路配置檔案:
[root@controller ~]# cd /etc/sysconfig/network-scripts/
[root@controller network-scripts]# vim ifcfg-eno16777736
#需要修改的引數為:
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.100.10
NETMASK=255.255.255.0

[root@controller network-scripts]# vim ifcfg-eno33554960
#需要修改的引數為:
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.200.10
NETMASK=255.255.255.0

# (3)重啟網路服務:
[root@controller network-scripts]# systemctl restart network

2、計算節點——配置網路

計算節點第一個網路卡配置為192.168.100.20
計算節點第二個網路卡配置為192.168.200.20

# (1)虛擬交換機的第一張網路卡選擇僅主機模式,配置為192.168.100.0網段,
# 第二張網路卡選擇NAT模式,配置為192.168.200.0網段;
# 網路介面卡1選擇為自定義僅主機模式,網路介面卡2選擇為自定義NAT模式。(同上操作)

# (2)編輯網路配置檔案:
[root@compute ~]# cd /etc/sysconfig/network-scripts/
[root@compute network-scripts]# vim ifcfg-eno16777736
#需要修改的引數為:
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.100.20
NETMASK=255.255.255.0

[root@compute network-scripts]# vim ifcfg-eno33554960
#需要修改的引數為:
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.200.20
NETMASK=255.255.255.0

# (3)重啟網路服務:
[root@compute network-scripts]# systemctl restart network

二、掛載映象

1、控制節點——上傳映象

使用SecureCRT工具,把CentOS和XianDian映象上傳到控制節點/root路徑下

2、控制節點——掛載映象

# 掛載CentOS映象
mount -o loop CentOS-7-x86_64-DVD-1511.iso /mnt/
mkdir /opt/centos7.2
cp -rvf /mnt/* /opt/centos7.2/
umount /mnt/

# 掛載iaas映象
mount -o loop XianDian-IaaS-v2.2.iso /mnt/
mkdir /opt/iaas
cp -rvf /mnt/* /opt/iaas/
umount /mnt/

三、配置yum源

1、控制節點——配置yum源

# 控制節點:
rm -rf /etc/yum.repos.d/CentOS-*;
cat > /etc/yum.repos.d/local.repo <<EOF
[centos]
name=centos
baseurl=file:///opt/centos7.2
gpgcheck=0
enabled=1
[iaas]
name=iass
baseurl=file:///opt/iaas/iaas-repo
gpgcheck=0
enabled=1
EOF

#清理yum快取:
yum clean all
yum makecache

2、控制節點——搭建ftp服務

為計算節點提供ftp訪問

# 安裝vsftpd、ftp和網路工具包
yum install -y vsftpd
yum install -y ftp
yum install net-tools

# 修改vsftpd配置檔案
vi /etc/vsftpd/vsftpd.conf
新增:anon_root=/opt

# 開啟服務
systemctl restart vsftpd
systemctl enable vsftpd

# 關閉SELinux和防火牆
setenforce 0
iptables -F
iptables -X
iptables -Z
systemctl stop firewalld
systemctl disable firewalld

3、計算節點——配置yum源

計算節點使用ftp訪問控制節點的yum

rm -rf /etc/yum.repos.d/CentOS-*;
cat > /etc/yum.repos.d/local.repo << EOF
[centos]
name=centos
baseurl=ftp://192.168.16.10/centos7.2
gpgcheck=0
enabled=1
[iaas]
name=iass
baseurl=ftp://192.168.16.10/iaas/iaas-repo
gpgcheck=0
enabled=1
EOF

#清理yum快取:
yum clean all
yum makecache

# 關閉SELinux和防火牆
setenforce 0
iptables -F
iptables -X
iptables -Z
systemctl stop firewalld
systemctl disable firewalld

四、新增磁碟

1、計算節點——新增一個新磁碟

操作:開啟虛擬機器設定,新增一個磁碟大小為20G

2、分割槽

# 計算節點——重啟虛擬機器
reboot

# 檢視磁碟情況
fdisk -l

# 建立兩個磁碟空間
fdisk /dev/sdb
依次輸入:n新建,p,回車(預設),回車(預設),+10G
	n新建,p,回車(預設),回車(預設),回車(預設10G)
	w完成

lsblk檢視

五、安裝iaas-xiandian包

1、控制節點、計算節點——安裝軟體包

# 控制節點、計算節點分別執行
yum install -y iaas-xiandian

2、修改配置檔案

# 控制節點——修改配置檔案
vi /etc/xiandian/openrc.sh

HOST_IP=192.168.100.10      #控制節點管理IP
HOST_NAME=controller        #控制節點主機名
HOST_IP_NODE=192.168.100.20 #計算節點管理IP
HOST_NAME_NODE=compute      #計算節點主機名
RABBIT_USER=openstack       #RabbitMQ訊息佇列使用者名稱
DOMAIN_NAME=demo            #域名可自定義    
INTERFACE_NAME=eno33554960  #第二個網路卡的網路卡名稱
BLOCK_DISK=sdb1             #Cinder儲存磁碟名稱
OBJECT_DISK=sdb2            #Siwft儲存磁碟分割槽名稱
STORAGE_LOCAL_NET_IP=192.168.100.20  #Swift儲存網路節點IP
#所有的密碼都是000000

# 控制節點——將配置檔案拷貝到計算節點
scp /etc/xiandian/openrc.sh 192.168.100.10:/etc/xiandian
點選檢視具體配置
##--------------------system Config--------------------##
##Controller Server Manager IP. example:x.x.x.x
HOST_IP=192.168.16.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.16.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.16.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.16.10/192.168.16.20

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

##External Network The Physical Adapter. example:provider
Physical_NAME=provider

##First Vlan ID in VLAN RANGE for VLAN Network. exmaple:101
minvlan=1

##Last Vlan ID in VLAN RANGE for VLAN Network. example:200
maxvlan=2000

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

六、執行指令碼

1、使用指令碼安裝openstack平臺

# 控制節點、計算節點——安裝基礎服務:
iaas-pre-host.sh

# 控制節點——安裝mysql資料庫服務:
iaas-install-mysql.sh

# 控制節點——安裝keystone服務:
iaas-install-keystore.sh

# 控制節點——安裝glance服務:
iaas-install-glance.sh

# 控制節點——安裝nova服務:
iaas-install-nova-controller.sh
# 計算節點——安裝nova服務
iaas-install-nova-compute.sh

# 控制節點——安裝neutron
iaas-install-neutron-controller.sh

# 錯誤處理——修改指令碼:
vi /usr/local/bin/iaas-install-neutron-controller-gre.sh
將最後一行的 systemctl enabled neutron-lbaas-agent
改為 systemctl enable neutron-lbaas-agent

# 再執行下面的指令碼:
iaas-install-neutron-controller-gre.sh

# 計算節點——安裝neutron
iaas-install-neutron-compute.sh
iaas-install-neutron-compute-gre.sh

# 控制節點——安裝dashboard
iaas-install-dashboard.sh

2、訪問dashboard服務

開啟瀏覽器訪問http://192.168.100.10/dashboard

域名:demo、使用者名稱:admin、密碼:000000

宣告:未經許可,不得轉載

相關文章