OpenStack实践(九):Open vSwitch方式实现floating IP
admin
2023-04-08 10:23:47
0

架构图:

OpenStack实践(九):Open vSwitch方式实现floating IP

环境:

openstack版本pike
控制节点主机openstack-controller(ubuntu 16.04.5) 172.27.34.37/137 esn160、ens192、ens224
计算节点主机openstack-computer(ubuntu 16.04.5) 172.27.34.38/138 esn160、ens192
vxlan100
centos01(172.27.100.5, floating ip172.27.34.11)
vxlan101
centos02(172.27.101.22,floating ip172.27.34.12)


ubuntu安装详见:Ubuntu16.04.5以lvm方式安装全记录

openstack安装详见:OpenStack实践(一):Ubuntu16.04下DevStack方式搭建p版OpenStack


本文测试内容有:

  1. 实例centos01和centos02之间能互通;

  2. 实例centos01和centos02可访问外网;

  3. floating ip配置,为instance分配浮动ip,外网可直接访问实例;


内网配置

内网采用vxlan,配置如下:

stack@openstack-controller:~$ source devstack/openrc admin admin
stack@openstack-controller:~$ view /etc/neutron/plugins/ml2/ml2_conf.ini
[ml2]
tenant_network_types = vxlan
extension_drivers = port_security
mechanism_drivers = openvswitch,l2population
type_drivers = local,flat,vlan,gre,vxlan,geneve

[agent]
tunnel_types = vxlan
l2_population = True

[ovs]
datapath_type = system
bridge_mappings =
tunnel_bridge = br-tun
local_ip = 172.27.34.137

计算节点local_ip=172.27.34.138,其它相同。


重启后生效

stack@openstack-controller:~$ sudo systemctl restart devstack@q*


VXLAN创建

创建vxlan100和vxlan101

图形化方式

创建vlan100

OpenStack实践(九):Open vSwitch方式实现floating IP

网络名称为vxlan100,段id为100

OpenStack实践(九):Open vSwitch方式实现floating IP

子网为172.27.100.0/24

OpenStack实践(九):Open vSwitch方式实现floating IP

激活DHCP

OpenStack实践(九):Open vSwitch方式实现floating IP

创建完成

OpenStack实践(九):Open vSwitch方式实现floating IP


命令方式

创建网络vxlan101

stack@openstack-controller:~$ openstack network create  --provider-network-type vxlan --provider-segment 101 --project admin vxlan101

OpenStack实践(九):Open vSwitch方式实现floating IP


创建子网subnet172.27.101.0

stack@openstack-controller:~$ openstack subnet create --network vxlan101 --subnet-range 172.27.101.0/24 --gateway 172.27.101.1 subnet172.27.101.0

OpenStack实践(九):Open vSwitch方式实现floating IP


外网配置

外网采用flat,配置如下

在控制节点执行

stack@openstack-controller:~$ view /etc/neutron/plugins/ml2/ml2_conf.ini
[ml2_type_flat]
flat_networks = externaltt

[ovs]
bridge_mappings = externaltt:br-ens224


创建网桥br-ens224并将物理网卡ens224桥接在br-ens224上

stack@openstack-controller:~$ sudo ovs-vsctl add-br br-ens224
stack@openstack-controller:~$ sudo ovs-vsctl add-port br-ens224 ens224


重启网络服务

stack@openstack-controller:~$ sudo systemctl restart devstack@q*


创建外网ext_net_flat

stack@openstack-controller:~$ openstack network create --provider-network-type flat --provider-physical-network externaltt  --project admin --external ext_net_flat

OpenStack实践(九):Open vSwitch方式实现floating IP


创建子网subnet172.27.34.0

stack@openstack-controller:~$ openstack subnet create --network ext_net_flat --subnet-range 172.27.34.0/24 --gateway 172.27.34.1 --no-dhcp subnet172.27.34.0

OpenStack实践(九):Open vSwitch方式实现floating IP


查看创建的网络

stack@openstack-controller:~$ openstack network list

OpenStack实践(九):Open vSwitch方式实现floating IP


OpenStack实践(九):Open vSwitch方式实现floating IP


创建路由

创建路由router_100_101

stack@openstack-controller:~$ openstack router create --project admin router_100_101

OpenStack实践(九):Open vSwitch方式实现floating IP


将路由器连接到外部网络

stack@openstack-controller:~$ openstack router set router_100_101 --external-gateway ext_net_flat


将路由器连接到子网

stack@openstack-controller:~$ openstack router add subnet router_100_101 subnet172.27.101.0
stack@openstack-controller:~$ openstack router add subnet router_100_101 subnet172.27.100.0


查看路由信息

stack@openstack-controller:~$ openstack router list

OpenStack实践(九):Open vSwitch方式实现floating IP

OpenStack实践(九):Open vSwitch方式实现floating IP


创建实例

制作镜像

上传介质CentOS-7-x86_64-GenericCloud-1809.qcow2c至/tmp目录,下载地址:http://cloud.centos.org/centos/7/images/


生成镜像centos7

stack@openstack-controller:/tmp$ openstack image create centos7   --file CentOS-7-x86_64-GenericCloud-1809.qcow2c  --disk-format qcow2 --container-format bare   --public

OpenStack实践(九):Open vSwitch方式实现floating IP


新建密钥对

新建密钥对centos7

stack@openstack-controller:~$ mkdir keys
stack@openstack-controller:~$ cd keys
stack@openstack-controller:~/keys$ openstack keypair create centos7 > centos7.pem
stack@openstack-controller:~/keys$ chmod 600 centos7.pem 
stack@openstack-controller:~/keys$ ll
total 12
drwxrwxr-x  2 stack stack 4096 Jan 24 10:53 ./
drwxr-xr-x 27 stack stack 4096 Jan 24 10:52 ../
-rw-------  1 stack stack 1680 Jan 24 10:53 centos7.pem

查看密钥对

stack@openstack-controller:~$ nova keypair-list

OpenStack实践(九):Open vSwitch方式实现floating IP


创建安全组

创建安全组centos7

stack@openstack-controller:~$ openstack security group create centos7

新增规则允许ping和ssh

stack@openstack-controller:~$ openstack security group rule create  --protocol icmp   centos7
stack@openstack-controller:~$ openstack security group rule create --protocol TCP --dst-port 22 centos7

OpenStack实践(九):Open vSwitch方式实现floating IP


查看安全组和规则

stack@openstack-controller:~$ openstack security group list
stack@openstack-controller:~$ openstack security group rule list centos7

OpenStack实践(九):Open vSwitch方式实现floating IP


创建实例

创建实例centos01

stack@openstack-controller:~$ nova boot --flavor m1.small --image centos7  --availability-zone nova:openstack-controller --nic net-name=vxlan100 --key-name centos7 --security-groups centos7 centos01

OpenStack实践(九):Open vSwitch方式实现floating IP

flavor选择m1.small,计算节点选择openstack-controller,网络选择vxlan100。


创建实例centos02

stack@openstack-controller:~$ nova boot --flavor m1.small --image centos7  --availability-zone nova:openstack-controller --nic net-name=vxlan101 --key-name centos7 --security-groups centos7 centos02

OpenStack实践(九):Open vSwitch方式实现floating IP

flavor选择m1.small,计算节点选择openstack-controller,网络选择vxlan101。


查看创建的实例

stack@openstack-controller:~$ nova list

OpenStack实践(九):Open vSwitch方式实现floating IP

OpenStack实践(九):Open vSwitch方式实现floating IP


创建浮动ip

创建floating IP

创建floating IP 172.27.34.11/12

stack@openstack-controller:~$ openstack floating ip create --project admin --floating-ip-address 172.27.34.11 ext_net_flat
stack@openstack-controller:~$ openstack floating ip create --project admin --floating-ip-address 172.27.34.12 ext_net_flat
stack@openstack-controller:~$ openstack floating ip list

OpenStack实践(九):Open vSwitch方式实现floating IP


浮动ip关联实例

OpenStack实践(九):Open vSwitch方式实现floating IP

OpenStack实践(九):Open vSwitch方式实现floating IP

关联的命令执行方式为

stack@openstack-controller:~$ nova  floating-ip-associate centos01 172.27.34.11 
stack@openstack-controller:~$ nova  floating-ip-associate centos02 172.27.34.12


查看实例浮动ip

stack@openstack-controller:~$ nova list

OpenStack实践(九):Open vSwitch方式实现floating IP


测试

登陆实例

登陆实例centos01

stack@openstack-controller:~/keys$ ssh -i centos7.pem centos@172.27.34.11

OpenStack实践(九):Open vSwitch方式实现floating IP


ping外网

[centos@centos01 ~]$ ping www.baidu.com

OpenStack实践(九):Open vSwitch方式实现floating IP


ping centos02

[centos@centos01 ~]$ ping 172.27.101.22

OpenStack实践(九):Open vSwitch方式实现floating IP


架构图分析

OpenStack实践(九):Open vSwitch方式实现floating IP


端口查看

vxlan100

OpenStack实践(九):Open vSwitch方式实现floating IP


vxlan101

OpenStack实践(九):Open vSwitch方式实现floating IP


查看网桥

root@openstack-controller:~# ovs-vsctl show

OpenStack实践(九):Open vSwitch方式实现floating IP


root@openstack-controller:~# brctl show

OpenStack实践(九):Open vSwitch方式实现floating IP


patch port查看

br-int与br-tun的patch port

OpenStack实践(九):Open vSwitch方式实现floating IP

br-int与br-tun通过patch port"patch-tun"和"br-tun"连接


br-int与br-ens224的patch port

OpenStack实践(九):Open vSwitch方式实现floating IP

OpenStack实践(九):Open vSwitch方式实现floating IP

br-int与br-ens224这两个网桥通过int-br-ens224和phy-br-ens224连接在一起了。


Linux Bridge方式详见:OpenStack实践(四):Linux Bridge方式实现floating IP


参考文章:

https://docs.openstack.org/zh_CN/user-guide/index.html


相关内容

热门资讯

徐巧芯剖析赖清德:最怕自己丢掉... 海峡导报综合报道 大罢免投票一周年纪念活动26日举行,台北市长蒋万安出席并怒轰,民进党一年过后仍没有...
中国红十字会总会紧急向广东调拨... 记者从中国红十字会总会了解到,针对台风“红霞”给广东造成的灾情,中国红十字会总会启动四级应急响应,紧...
这些少年,正被“毒蛋”围猎 李梦抽了几口电子烟,吐出了白色的烟雾,有一股浓烈的水果香味。随后,她看着自己握电子烟的手,跟身边人说...
蒋万安号召“倒阁”,卢秀燕认为... 海峡导报综合报道 台北市长蒋万安27日抛出震撼议题,表示多名民代向他提议推动“倒阁”,要求台行政机构...
特朗普将在白宫会见两位重要客人 俄乌战争仍未结束,美伊冲突又有升级风险。在此背景下,美国总统特朗普将在白宫接见乌克兰和以色列领导人。...
新租客打扫卧室柜子上掉落4万元... 近日,莲前西路某小区内,张倩签下一套房子的租赁合同。当天上午,她带着12岁的大女儿周馨怡和11岁的小...
六部门通告:禁止涉军队退役报废... 关于禁止涉军队退役报废装备销售活动的通告近年来,部分经营者在线上线下公开销售涉及我军退役报废装备(指...
九寨沟景区发生泥石流,部分道路... 7月26日,九寨沟风景名胜区管理局发布泥石流灾害通报:2026年7月26日15时50分,九寨沟景区局...
空调26度不凉是什么原因 从空调内部元器件来说,不凉的原因有可能是温度传感器出现故障了,也有可能是空调压缩机或者铜管出现问题,...
鲸鸿动能携手香港国际机场、鸿蒙...   2026 年 7 月 25 日,十余位鸿蒙车主组成的车队从珠海出发,经港珠澳大桥通关抵达香港国际...