1. 程式人生 > >OpenStack部署

OpenStack部署

ova text 塊存儲 list boot conf bootp 基礎環境準備 運行

OpenStack部署

一、主要組件
Horizon:用於管理Openstack各種服務的、基於web的管理接
口;通過圖形界面實現創建用戶、管理網絡、啟勱實例等操作。
Keystone:為其他服務提供認證和授權的集中身份管理服務;也提供了集中的目錄服務;支持多種身份認證模式,如果密碼認證、令牌認證、以及AWS(亞馬遜Web服務)登陸;為用戶和其他服務提供了SSO認證服務。
Neutron:一種軟件定義網絡服務;用於創建網絡、子網、路由器、管理浮動IP地址;可以實現虛擬交換機、虛擬路由器;可用於在項目中創建×××。
Cinder:為虛擬機管理存儲卷的服務;為運行在Nova中的實例提供永久的塊存儲;可以通過快照迚行數據備份;經常應用在實例存儲環境中,如果數據庫文件。

Nova:在節點上用於管理虛擬機的服務;Nova是一個分布式的服務,能夠不Keystone交互實現認證,不Glance交互實現鏡像管理;Nova被設計成在標準硬件上能夠迚行水平擴展;啟動實例時,如果有需要則下載鏡像(托管節點,部署到管理節點外的其他主機)。
Glance:扮演虛擬機鏡像註冊的角色;允許用戶為直接存儲拷貝服務器鏡像;這些鏡像可以用於新建虛擬機的模板。(後端鏡像)
二、OpenStack結構圖
技術分享圖片
三、基礎環境準備[前文自動化部署虛擬機(kvm)中已經準備完畢]

1. 禁用 selinux               
2. 卸載 firewalld     
3. 卸載 NetworkManager        
4. 配置主機IP地址             
5. 配置主機yum客戶端           
6. 創建cinder-volumes的卷組      
7. 導入公鑰(gpgcheck=1  rpm --import ftp://192.168.1.254/CentOS7/RPM-GPG-KEY-CentOS-7)
8. 安裝依賴的軟件包 

四、部署安裝OpenStack
[OpenStack管理節點、Nova節點 配置]
1)yum源配置

[local_repo]
name=CentOS7
baseurl="ftp://192.168.1.254/CentOS7"
enabled=1
gpgcheck=1

[openstack-ext]
name=Packages
baseurl="ftp://192.168.1.254/openstack-ext"
enabled=1   
gpgcheck=0

[rhel-7-server-rhceph-2-osd-rpms]
name=rhel-7-server-rhceph-2-osd-rpms
baseurl="ftp://192.168.1.254/openstack/rhel-7-server-rhceph-2-osd-rpms"
enabled=1
gpgcheck=0

[rhel-7-server-rhceph-2-tools-rpms]
name=rhel-7-server-rhceph-2-tools-rpms
baseurl="ftp://192.168.1.254/openstack/rhel-7-server-rhceph-2-tools-rpms"
enabled=1
gpgcheck=0

[rhel-7-server-rhscon-2-agent-rpms]
name=rhel-7-server-rhscon-2-agent-rpms
baseurl="ftp://192.168.1.254/openstack/rhel-7-server-rhscon-2-agent-rpms"
enabled=1
gpgcheck=0

[rhel-7-server-rhscon-2-installer-rpms]
name=rhel-7-server-rhscon-2-installer-rpms
baseurl="ftp://192.168.1.254/openstack/rhel-7-server-rhscon-2-installer-rpms"
enabled=1
gpgcheck=0

[rhel-7-server-rhscon-2-main-rpms]
name=rhel-7-server-rhscon-2-main-rpms
baseurl="ftp://192.168.1.254/openstack/rhel-7-server-rhscon-2-main-rpms"
enabled=1
gpgcheck=0

[rhel-7-server-rhceph-2-mon-rpms]
name=rhel-7-server-rhceph-2-mon-rpms 
baseurl="ftp://192.168.1.254/openstack/rhel-7-server-rhceph-2-mon-rpms"
enabled=1
gpgcheck=0

[rhel-7-server-openstack-10-tools-rpms]
name=rhel-7-server-openstack-10-tools-rpms 
baseurl="ftp://192.168.1.254/openstack/rhel-7-server-openstack-10-tools-rpms"
enabled=1
gpgcheck=0

[rhel-7-server-openstack-10-rpms]
name=rhel-7-server-openstack-10-rpms
baseurl="ftp://192.168.1.254/openstack/rhel-7-server-openstack-10-rpms"
enabled=1
gpgcheck=0

[rhel-7-server-openstack-10-optools-rpms]
name=rhel-7-server-openstack-10-optools-rpms
baseurl="ftp://192.168.1.254/openstack/rhel-7-server-openstack-10-optools-rpms"
enabled=1
gpgcheck=0

[rhel-7-server-openstack-10-devtools-rpms]
name=rhel-7-server-openstack-10-devtools-rpms
baseurl="ftp://192.168.1.254/openstack/rhel-7-server-openstack-10-devtools-rpms"
enabled=1
gpgcheck=0

配置完成以後 yum repolist 能看到 12 個源及 10,731 個包

2)配置卷組
OpenStack管理節點虛擬機 [8G內存]:

]#pvcreate /dev/vdb
]#vgcreate  cinder-volumes  /dev/vdb

註:OpenStack虛擬機的模板機是minimal安裝未安裝邏輯卷相關命令,需要利用yum provides vgcreate 查出此命令由哪個軟件包提供,並安裝。
3)導入公鑰
修改yum倉庫gpgcheck=1
]#rpm --import ftp://192.168.1.254/CentOS7/RPM-GPG-KEY-CentOS-7
註:此步驟在制作模板機的時候已經操作完成,可忽略。
4)安裝額外軟件包

]#yum install -y qemu-kvm libvirt-client libvirt-daemon libvirt-daemon-driver-qemu python-setuptools

[ penStack管理節點虛擬機配置 ]
五、安裝OpenStack
1)安裝openstack

]# yum install -y openstack-packstack
]#packstack --gen-answer-file answer.ini*

2)修改應答文件

配置默認密碼:
11:  CONFIG_DEFAULT_PASSWORD=Taren1
設置禁用 swift (對象存儲) 模塊:
42:  CONFIG_SWIFT_INSTALL=n
NTP 服務器地址:
75:  CONFIG_NTP_SERVERS=192.168.1.254
計算節點IP地址:
98:  CONFIG_COMPUTE_HOSTS=192.168.1.19
需要配置vxlan網絡的 IP 地址:
102: CONFIG_NETWORK_HOSTS=192.168.1.19
禁用自動創建 cinder-volumns 卷組:
554: CONFIG_CINDER_VOLUMES_CREATE=n
設置網絡支持協議:
840: CONFIG_NEUTRON_ML2_TYPE_DRIVERS=flat,vxlan
設置組播地址:
876: CONFIG_NEUTRON_ML2_VXLAN_GROUP=239.1.1.5
設置虛擬交換機:
910: CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=physnet1:br-ex
設置虛擬交換機所連接的物理網卡:
921: CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:eth0
設置隧道網絡使用的網卡:
936: CONFIG_NEUTRON_OVS_TUNNEL_IF=eth1
禁用測試的DEMO:
1179:CONFIG_PROVISION_DEMO=n

保存配置文件,安裝 openstack

]#packstack --answer-file=answer.ini

六、網絡配置(安裝配置自動生成)
1)多計算節點拓撲
技術分享圖片
2)配置br-ex為外部OVS網橋

]# cat /etc/sysconfig/network-scripts/ifcfg-br-ex
ONBOOT="yes"
NM_CONTROLLED="no"
IPADDR="192.168.1.66"
PREFIX="24"
GATEWAY="192.168.1.254"
DEVICE=br-ex
NAME=br-ex
DEVICETYPE=ovs
OVSBOOTPROTO="static"
TYPE=OVSBridge

3) 配置eth0為外部OVS網橋的端口

]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
NAME=eth0
DEVICETYPE=ovs
TYPE=OVSPort
OVS_BRIDGE=br-ex
ONBOOT=yes
BOOTPROTO=none

4) 驗證OVS配置

[1].ovs-vsctl show 
[2].ip -o addr show
]# ovs-vsctl  show
Bridge br-ex
    Controller "tcp:127.0.0.1:6633"
        is_connected: true
    fail_mode: secure
    … …
    Port br-ex
        Interface br-ex
            type: internal
        Port "eth0"
            Interface "eth0"

七、Horizon BUG 處理
horizon 軟件配置 bug

修改 /etc/httpd/conf.d/15-horizon_vhost.conf
      ServerAliaslocalhost
      WSGIDaemonProcessapache group=apache processes=3 threads=10 user=apache
      WSGIProcessGroupapache
36: WSGIApplicationGroup %{GLOBAL}     第36行添加

八、重新加載配置文件,網頁測試
重新載入配置文件:

]#apachectl graceful        

查看用戶名密碼:

]#  cat keystonerc_admin 

利用瀏覽器輸入http://192.168.1.202登陸管理界面

                                                            未完待續……

OpenStack部署