云网牛站
所在位置:首页 > Linux云服务器 > 使用Packstack RDO在CentOS 7上部署OpenStack Cloud的方法

使用Packstack RDO在CentOS 7上部署OpenStack Cloud的方法

2019-07-12 15:37:58作者:魏承戈稿源:云网牛站

通过使用Packstack安装实用程序,你可以在几分钟内在CentOS 7上运行一体化OpenStack Cloud,部署后,可以向OpenStack云添加更多节点。

 

前提条件

在此设置中,我们将使用CentOS上的Packstack和以下服务构建OpenStack Cloud:

Cinder  - 块存储服务

Neutron - 网络服务

Nova  - 计算

Swift  - 对象存储服务

Keystone  - 身份服务

Heat - 编排服务

Glance - 图像服务

Horizon - 仪表板

Magnum -Container服务

我正在使用以下规范在物理服务器上进行安装:

Memory: 128GB RAM

CPU: Intel(R) Xeon(R) CPU E5-1650 v2 @ 3.50GHz (12 cores)

Disk: 3 x 4TB SATA

Network: 1Gbit

IPV4 Adresses: 1 x IPV4 + /28 Subnet (14 IPs)

运行以下命令查看:

$ grep -c ^processor /proc/cpuinfo

$ free -h

$ lsblk

$ ip link  show

使用Packstack RDO在CentOS 7上部署OpenStack Cloud的方法

 

一、满足设置要求

我们将使用此处共享的命令禁用firewalld、NetworkManager和SELinux:

sudo systemctl disable --now firewalld NetworkManager

sudo setenforce 0

sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/selinux/config

参考:在RHEL 8/CentOS 8系统中禁用SELinux的方法

设置服务器主机名:

sudo hostnamectl set-hostname openstackcloud.example.com --static

参考:在CentOS 7/8、Fedora 30/29/28上更改主机名(hostname)

最后,更新系统并安装基本实用程序:

sudo yum -y update

sudo yum -y install vim wget curl telnet bash-completion

sudo reboot

 

二、安装Packstack包

使用以下命令添加RDO(OpenStack的RPM分发)存储库:

--- OpenStack Stein ----

$ sudo yum install -y centos-release-openstack-stein

--- OpenStack Rocky ----

$ sudo yum install -y centos-release-openstack-rocky

如果你在有较新版本的Openstack时关注本文,请使用版本名称替换stein或rocky。

添加存储库后,安装CentOS的packstack包:

sudo yum install -y openstack-packstack

 

三、创建packstack answers文件

我们需要生成一个配置文件,用于通过Packstack安装OpenStack Cloud,此文件包含安装服务、存储配置、网络等信息:

$ sudo packstack --gen-answer-file /root/answers.txt

Packstack changed given value  to required value /root/.ssh/id_rsa.pub

打开生成的配置文件并对其进行编辑以适合你所需的安装,这些是我的参数设置:

CONFIG_NTP_SERVERS=0.pool.ntp.org,1.pool.ntp.org,2.pool.ntp.org

CONFIG_CONTROLLER_HOST=192.168.10.10

CONFIG_COMPUTE_HOSTS=192.168.10.10

CONFIG_NETWORK_HOSTS=192.168.10.10

CONFIG_STORAGE_HOST=192.168.10.10

CONFIG_KEYSTONE_ADMIN_PW=b29e883d82dd45f8

CONFIG_SWIFT_STORAGES=/dev/sdc2

CONFIG_PROVISION_DEMO=n

CONFIG_HEAT_INSTALL=y

CONFIG_HEAT_CFN_INSTALL=y

CONFIG_CEILOMETER_INSTALL=y

CONFIG_MAGNUM_INSTALL=y

CONFIG_LBAAS_INSTALL=y

CONFIG_CINDER_VOLUMES_CREATE=n

CONFIG_NOVA_SCHED_RAM_ALLOC_RATIO=3.0

CONFIG_NOVA_LIBVIRT_VIRT_TYPE=%{::default_hypervisor}

CONFIG_HORIZON_SSL=n

Cinder和Swift存储将在我的块设备/dev/sdc上:

sudo parted -s -a optimal -- /dev/sdc mklabel gpt

sudo parted -s -a optimal -- /dev/sdc mkpart primary 0% 70%

sudo parted -s -a optimal -- /dev/sdc mkpart primary 70% 100%

sudo mkfs.xfs /dev/sdc2

对于Cinder,我将创建一个使用/dev/sdc1的单独LVM卷组:

$ sudo pvcreate /dev/sdc1

Physical volume "/dev/sdc1" successfully created. 

$ sudo vgcreate cinder-volumes /dev/sdc1

Volume group "cinder-volumes" successfully created

$ sudo lvcreate -l 100%FREE -T cinder-volumes/cinder-volumes-pool

Thin pool volume with chunk size 256.00 KiB can address at most 63.25 TiB of data.

Logical volume "cinder-volumes-pool" created.

Swift存储将位于分区/dev/sc2上。

 

四、使用packstack安装OpenStack

现在我们有了要使用的答案文件,我们可以使用packstack命令行来引导OpenStack Cloud:

sudo packstack --answer-file /root/answers.txt --timeout=1500 | tee packstrack-output.txt

见下面的安装输出:

使用Packstack RDO在CentOS 7上部署OpenStack Cloud的方法

 

五、配置OpenStack网络

在你的界面上创建外部OVS桥:

$ sudo vi /etc/sysconfig/network-scripts/ifcfg-eno1

DEVICE=eno1

ONBOOT=yes

TYPE=OVSPort

DEVICETYPE=ovs

OVS_BRIDGE=br-ex 

$ sudo vi /etc/sysconfig/network-scripts/ifcfg-br-ex

DEVICE=br-ex

BOOTPROTO=none

ONBOOT=yes

TYPE=OVSBridge

DEVICETYPE=ovs

USERCTL=yes

PEERDNS=yes

IPV6INIT=no

IPADDR=192.168.10.10

NETMASK=255.255.255.0

GATEWAY=192.168.10.1

DNS1=192.168.10.1

将已配置接口的静态路由移至br-ex:

sudo mv /etc/sysconfig/network-scripts/route-eno1 /etc/sysconfig/network-scripts/route-br-ex

在Open vSwitch中将网络物理接口添加到br-ex网桥:

sudo ovs-vsctl add-port br-ex eno1; systemctl restart network.service

可以以类似的方式配置附加桥,你需要使用正确的映射配置Open vSwitch:

$ sudo  vi /etc/neutron/plugins/ml2/openvswitch_agent.ini 

bridge_mappings=extnet:br-ex

重启Nova服务:

sudo systemctl restart openstack-nova-compute

sudo systemctl restart openstack-nova-api

sudo systemctl restart openstack-nova-scheduler

创建OpenStack专用网络:

$ source keystonerc_admin

$ openstack network create private

使用Packstack RDO在CentOS 7上部署OpenStack Cloud的方法

$ openstack subnet create --network private --allocation-pool \

start=10.1.1.50,end=10.1.1.200 --dns-nameserver 8.8.8.8 \

--subnet-range 10.1.1.0/24 private_subnet

使用Packstack RDO在CentOS 7上部署OpenStack Cloud的方法

创建一个公共网络:

$ openstack network create --provider-network-type flat \

--provider-physical-network extnet --external public

使用Packstack RDO在CentOS 7上部署OpenStack Cloud的方法

$ openstack subnet create --network public \

 --allocation-pool start=<startip>,end=<lastip> \

 --no-dhcp \

 --subnet-range <subnet>/27 public_subnet

添加新路由器并配置路由器接口:

$ openstack router create --no-ha router1

使用Packstack RDO在CentOS 7上部署OpenStack Cloud的方法

$ openstack router set --external-gateway public router1

$ openstack router add subnet router1 private_subnet

$ ip netns show

qrouter-188d5388-6f58-4387-8a13-018b9c2e81f4 (id: 1)

qdhcp-e406e76f-e89d-42a2-bab1-9c883b2e49aa (id: 0)

 

六、配置Cinder

配置Cinder以使用已配置的LVM卷:

$ sudo  vi /etc/cinder/cinder.conf

enabled_backends=lvm

volume_clear = none

[lvm]

volume_backend_name=lvm

volume_driver=cinder.volume.drivers.lvm.LVMVolumeDriver

iscsi_ip_address=192.168.10.10

iscsi_helper=lioadm

volume_group=cinder-volumes

volumes_dir=/var/lib/cinder/volumes

需要在更改后重新启动Cinder服务:

sudo systemctl restart openstack-cinder-volume

sudo systemctl restart openstack-cinder-api

 

七、创建flavor和安全组

让我们添加OpenStack风格:

openstack flavor create --id 0 --ram 1024  --vcpus  1 --swap 2048  --disk 10    m1.tiny

openstack flavor create --id 1 --ram 2048  --vcpus  1 --swap 4096  --disk 20    m1.small

openstack flavor create --id 2 --ram 4096  --vcpus  2 --swap 8192  --disk 40    m1.medium

openstack flavor create --id 3 --ram 8192  --vcpus  4 --swap 8192  --disk 80    m1.large

openstack flavor create --id 4 --ram 16384 --vcpus  8 --swap 8192  --disk 160   m1.xlarge

和基本安全组:

openstack security group create basic --description "Allow base ports"

openstack security group rule create --protocol TCP --dst-port 22 --remote-ip 0.0.0.0/0 basic

openstack security group rule create --protocol TCP --dst-port 80 --remote-ip 0.0.0.0/0 basic

openstack security group rule create --protocol TCP --dst-port 443 --remote-ip 0.0.0.0/0 basic

openstack security group rule create --protocol ICMP --remote-ip 0.0.0.0/0 basic

 

八、创建私钥并添加Glance images

为你的帐户创建新密钥或使用现有密钥:

$ ssh-keygen -q -N "" 

$ openstack keypair create --public-key=~/.ssh/id_rsa.pub adminkey

使用Packstack RDO在CentOS 7上部署OpenStack Cloud的方法

 

九、访问OpenStack仪表板

要访问OpenStack Dashboard,请浏览到http://openstackip/dashboard:

使用Packstack RDO在CentOS 7上部署OpenStack Cloud的方法

注:你的登录信息存储在主目录的keystonerc_admin文件中。

 

相关主题

在CentOS 7系统上安装Openstack三节点集群的方法

精选文章
热门文章