前期准备

部署openstack可参考:https://blog.51cto.com/14832653/2516210
配置虚拟机设置
openstack架构部署Centos7虚拟机_第1张图片
导入环境变量

[root@controller ~]# vi admin-openrc 
export OS_PROJECT_DOMAIN_NAME=Default
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=openstack
export OS_AUTH_URL=http://controller:5000/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2

[root@controller ~]# source admin-openrc

下载镜像包

下载CentOS-7-x86_64-GenericCloud-1907.qcow2镜像包
下载地址:https://cloud.centos.org/centos/7/images/

镜像包上传到openstack

[root@controller ~]# openstack image create "Centos7" --file CentOS-7-x86_64-GenericCloud-1907.qcow2 --disk-format qcow2 --container-format bare --public

创建flavor

openstack架构部署Centos7虚拟机_第2张图片

创建密钥

[root@controller ~]# openstack keypair create --public-key ~/.ssh/id_rsa.pub mykey

创建安全组规则

openstack架构部署Centos7虚拟机_第3张图片

创建网络

创建provicer网络

[root@controller ~]# openstack network create  --share --external  --provider-physical-network provider  --provider-network-type flat provider

设置子网

[root@controller ~]# openstack subnet create --network provider --allocation-pool start=192.168.31.100,end=192.168.31.120 --gateway 192.168.31.1 --subnet-range 192.168.31.0/24 provider

创建self-service网络

[root@controller ~]# openstack network create selfservice

创建子网

[root@controller ~]# openstack subnet create --network selfservice --gateway 172.16.1.1  --subnet-range 172.16.1.0/24 selfservice

创建并配置路由

[root@controller ~]# openstack router create router

[root@controller ~]# neutron router-interface-add router selfservice
[root@controller ~]# neutron router-gateway-set router provider

创建实例

openstack架构部署Centos7虚拟机_第4张图片
openstack架构部署Centos7虚拟机_第5张图片
openstack架构部署Centos7虚拟机_第6张图片
openstack架构部署Centos7虚拟机_第7张图片
openstack架构部署Centos7虚拟机_第8张图片
openstack架构部署Centos7虚拟机_第9张图片
绑定浮动IP

openstack架构部署Centos7虚拟机_第10张图片
openstack架构部署Centos7虚拟机_第11张图片
在这里插入图片描述

测试验证

[root@controller ~]# ping -c 5 192.168.31.101
PING 192.168.31.101 (192.168.31.101) 56(84) bytes of data.
64 bytes from 192.168.31.101: icmp_seq=1 ttl=63 time=2.37 ms
64 bytes from 192.168.31.101: icmp_seq=2 ttl=63 time=1.76 ms
64 bytes from 192.168.31.101: icmp_seq=3 ttl=63 time=2.63 ms
64 bytes from 192.168.31.101: icmp_seq=4 ttl=63 time=5.02 ms
64 bytes from 192.168.31.101: icmp_seq=5 ttl=63 time=1.89 ms
--- 192.168.31.101 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4009ms
rtt min/avg/max/mdev = 1.768/2.737/5.023/1.186 ms
[root@controller ~]# ssh [email protected]
[centos@mycentos ~]$ ip a 
inet 172.16.1.3/24 brd 172.16.1.255 scope global dynamic eth0