Centos8.3下用packstack安裝四節點openstack-victoria版本

前言

victoria作爲openstack2020年的最後一個穩定版本,現已支持packstack安裝,本文將根據自身環境部署經驗,分享部署過程。

環境準備

四臺centos8.3的虛機或物理機,具體配置如下:
控制節點:至少需要6G內存(內存過小安裝過程可能報錯),至少100G硬盤,2張網卡
網絡節點:至少4G內存,3張網卡
計算節點:內存和硬盤儘量大(可以多創虛機),dvr模式3張網卡,非dvr2張網卡
網段劃分:管理網(enps3)可以聯網,數據網(enp0s8)內部網絡,br-ex網卡(不設置ip)



設置hostname

hostnamectl set-hostname controller

修改hosts文件

vim /etc/hosts

禁用NetworkManager並使用network-scripts配置網絡

centos8默認使用NetworkManager管理網絡,對於openstack來說仍然需要network-scripts配置網絡

systemctl disable NetworkManager
systemctl stop NetworkManager
dnf install network-scripts -y
systemctl enable network
systemctl start network
vim /etc/sysconfig/network-scripts/ifcfg-enp0s3
vim /etc/sysconfig/network-scripts/ifcfg-enp0s8
vim /etc/sysconfig/network-scripts/ifcfg-enp0s9
systemctl restart network

管理網和數據網不要在同一個網段,ip地址最好配成靜態的,enp0s9設置成靜態,不配置ip

禁用防火牆和SELINUX

systemctl disable firewalld
systemctl stop firewalld
setenforce 0

啓用powertools

dnf update -y
dnf config-manager --enable powertools

啓用OpenStack repositories並安裝packstack

僅在控制節點執行

dnf install -y centos-release-openstack-victoria
dnf update -y
dnf install -y openstack-packstack

生成應答文件並根據需要修改

僅在控制節點執行

packstack --gen-answer-file openstack-victoria-20210101.txt
vim openstack-victoria-20210101.txt

v版本二層默認使用ovn,可以根據需要改成openvswitch,需要修改的地方大致如下:

CONFIG_DEFAULT_PASSWORD=
CONFIG_CONTROLLER_HOST=
CONFIG_COMPUTE_HOSTS=
CONFIG_NETWORK_HOSTS=
CONFIG_STORAGE_HOST=
CONFIG_SAHARA_HOST=
CONFIG_AMQP_HOST=
CONFIG_MARIADB_HOST=
CONFIG_KEYSTONE_LDAP_URL=
CONFIG_NEUTRON_L3_EXT_BRIDGE=br-ex
CONFIG_NEUTRON_ML2_TYPE_DRIVERS=geneve,flat,vlan,vxlan
CONFIG_NEUTRON_ML2_TENANT_NETWORK_TYPES=vxlan
CONFIG_NEUTRON_ML2_MECHANISM_DRIVERS=openvswitch(默認是ovn,根據需要修改)
CONFIG_NEUTRON_L2_AGENT=openvswitch
CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=extnet:br-ex
CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:enp0s9
CONFIG_NEUTRON_OVS_TUNNEL_IF=enp0s8
CONFIG_NEUTRON_OVS_TUNNEL_SUBNETS=

開始部署

僅在控制節點執行

packstack --answer-file=openstack-victoria-20210101.txt

根據提示輸入各個節點的root賬戶密碼
部署過程大概持續30分鐘左右,主要取決於網速和硬件配置
中間可能會報錯,檢查一下網絡配置以及內存是否夠用,一般重新執行上面的命令即可

Installing:

Clean Up                                             [ DONE ]

Discovering ip protocol version                      [ DONE ]

Setting up ssh keys                                  [ DONE ]

Preparing servers                                    [ DONE ]

Pre installing Puppet and discovering hosts' details [ DONE ]

Preparing pre-install entries                        [ DONE ]

Setting up CACERT                                    [ DONE ]

Preparing AMQP entries                               [ DONE ]

Preparing MariaDB entries                            [ DONE ]

Fixing Keystone LDAP config parameters to be undef if empty[ DONE ]

Preparing Keystone entries                           [ DONE ]

Preparing Glance entries                             [ DONE ]

Checking if the Cinder server has a cinder-volumes vg[ DONE ]

Preparing Cinder entries                             [ DONE ]

Preparing Nova API entries                           [ DONE ]

Creating ssh keys for Nova migration                 [ DONE ]

Gathering ssh host keys for Nova migration           [ DONE ]

Preparing Nova Compute entries                       [ DONE ]

Preparing Nova Scheduler entries                     [ DONE ]

Preparing Nova VNC Proxy entries                     [ DONE ]

Preparing OpenStack Network-related Nova entries     [ DONE ]

Preparing Nova Common entries                        [ DONE ]

Preparing Neutron LBaaS Agent entries                [ DONE ]

Preparing Neutron API entries                        [ DONE ]

Preparing Neutron L3 entries                         [ DONE ]

Preparing Neutron L2 Agent entries                   [ DONE ]

Preparing Neutron DHCP Agent entries                 [ DONE ]

Preparing Neutron Metering Agent entries             [ DONE ]

Checking if NetworkManager is enabled and running    [ DONE ]

Preparing OpenStack Client entries                   [ DONE ]

Preparing Horizon entries                            [ DONE ]

Preparing Swift builder entries                      [ DONE ]

Preparing Swift proxy entries                        [ DONE ]

Preparing Swift storage entries                      [ DONE ]

Preparing Heat entries                               [ DONE ]

Preparing Heat CloudFormation API entries            [ DONE ]

Preparing MongoDB entries                            [ DONE ]

Preparing Redis entries                              [ DONE ]

Preparing Ceilometer entries                         [ DONE ]

Preparing Aodh entries                               [ DONE ]

Preparing Sahara entries                             [ DONE ]

Preparing Nagios server entries                      [ DONE ]

Preparing Nagios host entries                        [ DONE ]

Preparing Puppet manifests                           [ DONE ]

Copying Puppet modules and manifests                 [ DONE ]

Applying 192.168.1.31_controller.pp

192.168.1.31_controller.pp:                        [ DONE ]           

Applying 192.168.1.32_network.pp

192.168.1.32_network.pp:                           [ DONE ]       

Applying 192.168.1.33_compute1.pp

192.168.1.33_compute.pp:                           [ DONE ]  

Applying 192.168.1.34_compute2.pp

192.168.1.34_compute.pp:                           [ DONE ]          

Applying Puppet manifests                            [ DONE ]

Finalizing                                           [ DONE ]



 **** Installation completed successfully ******

安裝成功

添加sudoer權限

neutron privsep需要使用sudo權限,但剛安裝完的環境默認沒有配置。
四個節點均需執行
修改neutron.conf

vim /etc/neutron/neutron.conf

[privsep]
user = neutron
helper_command = sudo privsep-helper

vim /etc/sudoers.d/neutron

添加
neutron ALL = (root) NOPASSWD: ALL

最後重啓neutron-openvswitch-agent(控制節點不用重啓)

systemctl restart neutron-openvswitch-agent.service

訪問horizon

最後在瀏覽器裏輸入控制節點的ip,就可以訪問openstack的horizon界面了。
用戶名和密碼可以在控制節點的keystonerc_admin文件裏查到,安裝成功後會自動生成這個文件。
. keystonerc_admin可以使用openstack命令行。
在這裏插入圖片描述


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章