使用指令碼部署OpenStack平臺

1、目標:

①、瞭解open stack平臺部署方法

②、瞭解指令碼部署方式

③、使用指令碼部署openstack平臺

2、規劃:

一臺控制節點和一臺計算節點組成簡單架構OpenStack平臺,控制節點安裝MySQL、Keystone、Glance、Nova、Neutron、Dashboard等服務,主要作為認證、映象管理節點,以及提供Nova和Neutron服務的管理節點。提供Dashboard介面服務。

計算節點主要安裝nova-compute和Neutron服務,Nova服務提供雲主機服務,Neutron提供網路服務。

透過Shell指令碼進行OpenStack平臺部署,指令碼分為控制節點指令碼和計算節點指令碼,對應節點執行部署指令碼。

3、準備:(頭條沒有表格功能,湊活看吧)

①、兩臺虛擬機器:

虛擬機器1配置:

IP:

192。168。100。10 僅主機模式

192。168。200。10 net模式

主機名:controller

配置

記憶體4G 、硬碟50GB、

開啟虛擬化

虛擬機器2配置:

IP:

192。168。100。20 僅主機模式

192。168。200。20 net模式

主機名:

compute

配置:

記憶體4G 、硬碟100GB、

開啟虛擬化、新增兩塊5GB硬碟,分別命名sda3、sda4

②、準備軟體安裝包

XianDian-IaaS-v2。2。iso 2。2 2。65GB

cirros-0。3。3-x86_64-disk。img 0。3。3 12。6MB

centos7。2 1511 4。03GB

4、實施

1. 基礎環境配置

(1)IP地址配置

控制節點和計算節點,安裝最小化CentOS7。2作業系統,配置每個節點IP地址。並使用secureCRT進行連線。

controller節點修改部分:[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eno16777736TYPE=EthernetBOOTPROTO=staticDEFROUTE=yesPEERDNS=yesPEERROUTES=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_PEERDNS=yesIPV6_PEERROUTES=yesIPV6_FAILURE_FATAL=noNAME=eno16777736DEVICE=eno16777736ONBOOT=yesIPADDR=192。168。100。10NETMASK=255。255。255。0

compute節點修改部分:[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eno16777736TYPE=EthernetBOOTPROTO=staticDEFROUTE=yesPEERDNS=yesPEERROUTES=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_PEERDNS=yesIPV6_PEERROUTES=yesIPV6_FAILURE_FATAL=noNAME=eno16777736DEVICE=eno16777736ONBOOT=yesIPADDR=192。168。100。20NETMASK=255。255。255。0

(2)上傳基礎映象

上傳XianDian-IaaS-v2。2。iso和CentOS-7-x86_64-DVD-1511。iso兩個映象包至controller節點/root目錄中,並將ISO檔案掛載至/opt/目錄中。

[root@localhost ~]# lltotal 7012772-rw————-。 1 root root 1319 Oct 31 13:17 anaconda-ks。cfg-rw-r——r——。 1 root root 4329570304 Jan 16 2017 CentOS-7-x86_64-DVD-1511。iso-rw-r——r——。 1 root root 2851502080 Nov 5 2017 XianDian-IaaS-v2。2。iso[root@localhost ~]# mkdir /opt/centos7。2[root@localhost ~]# mkdir /opt/iaas[root@localhost ~]# mount /root/CentOS-7-x86_64-DVD-1511。iso /opt/centos7。2/[root@localhost ~]# mount /root/XianDian-IaaS-v2。2。iso /opt/iaas/

(3)配置YUM原始檔

controller節點:

[root@localhost ~]# rm -rf /etc/yum。repos。d/CentOS-*[root@localhost ~]# cat > /etc/yum。repos。d/local。repo <

compute節點:

[root@localhost ~]# rm -rf /etc/yum。repos。d/CentOS-*[root@localhost ~]# cat > /etc/yum。repos。d/local。repo <

(4)控制節點安裝ftp服務

控制節點安裝vsftpd服務,提供計算節點ftp訪問方式。

[root@localhost ~]# yum install vsftpd -y在/etc/vsftpd/vsftpd。conf配置中新增一行程式碼:anon_root=/opt# 重啟vsftpd服務:[root@localhost ~]# systemctl restart vsftpd

(5)配置防火牆策略

在控制節點和計算節點中關閉防火牆:

[root@localhost ~]# setenforce 0[root@localhost ~]# iptables -F[root@localhost ~]# iptables -X[root@localhost ~]# iptables -Z[root@localhost ~]# systemctl stop firewalld

(6)安裝iaas-xiandian服務

在控制節點和計算節點安裝iaas-xiandian軟體包。

yum install iaas-xiandian -y

(7)配置環境變數

控制節點和計算節點配置環境變數的配置檔案/etc/xiandian/openrc。sh,配置引數說明如下:

HOST_IP=192。168。100。10HOST_NAME=controllerHOST_IP_NODE=192。168。100。20HOST_NAME_NODE=computeRABBIT_USER=openstackRABBIT_PASS=000000DB_PASS=000000DOMAIN_NAME=demoADMIN_PASS=000000DEMO_PASS=000000KEYSTONE_DBPASS=000000GLANCE_DBPASS=000000GLANCE_PASS=000000NOVA_DBPASS=000000NOVA_PASS=000000NEUTRON_DBPASS=000000NEUTRON_PASS=000000METADATA_SECRET=000000INTERFACE_NAME=eno33554960##節點第二塊網絡卡名稱CINDER_DBPASS=000000CINDER_PASS=000000BLOCK_DISK=sda3##計算節點cinder服務使用空分割槽SWIFT_PASS=000000OBJECT_DISK=sda4##計算節點swift服務使用空分割槽STORAGE_LOCAL_NET_IP=192。168。100。20##計算節點地址

2. 使用指令碼安裝OpenStack平臺

(1)安裝基礎服務

控制節點和計算節點透過指令碼安裝基礎服務:

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

控制節點安裝完成後,按Ctrl+D鍵退出並重新登入,使主機名生效。

計算節點安裝完成後,按Ctrl+D鍵退出並重新登入,使主機名生效。

(2)安裝MySQL資料庫服務

控制節點透過指令碼安裝MySQL資料庫服務:

[root@controller~]# iaas-install-mysql。sh

(3)安裝Keystone認證服務

控制節點透過指令碼安裝Keystone認證服務:

[root@controller ~]# iaas-install-keystone。sh

(4)安裝Glance映象服務

控制節點透過指令碼安裝Glance映象服務:

[root@controller ~]# iaas-install-glance。sh

(5)安裝Nova計算服務

controller節點透過指令碼安裝計算服務:

[root@controller ~]# iaas-install-nova-controller。sh

compute節點透過指令碼安裝計算服務:

[root@compute~]# iaas-install-nova-compute。sh

(6)安裝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

(7)安裝Dashboard服務

controller節點透過指令碼安裝Dashboard服務:

[root@controller ~]# iaas-install-dashboard。sh

(8)安裝Cinder塊儲存服務

controller節點透過指令碼安裝塊儲存服務:

[root@controller ~]# iaas-install-cinder-controller。sh

compute節點透過指令碼安裝塊儲存服務:

[root@compute~]# iaas-install-cinder-compute。sh

(9)安裝Swift物件儲存服務

controller節點透過指令碼安裝物件儲存服務:

[root@controller ~]# iaas-install-swift-controller。sh

compute節點透過指令碼安裝物件儲存服務:

[root@compute ~]# iaas-install-swift-compute。sh

(10)訪問Dashboard服務

開啟瀏覽器,訪問地址,輸入環境變數檔案中填寫的密碼,域為demo、使用者名稱為admin、密碼為000000,然後單擊“連線”按鈕

使用指令碼部署OpenStack平臺

訪問Dashboard服務

登入後即可訪問到Dashboard系統,如圖5所示。

使用指令碼部署OpenStack平臺