searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

DPVS虚拟机VXLAN测试

2024-04-30 02:34:46
23
0

场景介绍

引入VPC的概念

DPVS社区最初设计的应用场景是IDC的经典网络,并不适用于云化场景。云化场景与IDC经典网络最核心的区别是:经典网络提供的是多用户共享的网络,而VPC提供的是用户专属的网络。VPC内用户可以任意定义云主机的IP地址,而在经典网络模式下,大家挤在一个二层网络里面,IP地址首先要保证不能重合。

如上图所示,VIP:PORT可以唯一表示一个服务,服务后面挂载了多个实例,但在云化场景下,其VIP地址是可以重复的,所以仍然使用VIP:PORT来表示一个具体服务就行不通了。因此DPVS-VXLAN转发层面不能继续沿用DPVS原有的处理逻辑,为了解决这个问题研发团队引入了租户VPC的概念,把服务和VPC关联起来,

不同的VPC可以有相同的VIP:PORT,这也与实际使用方式相吻合,改造后就变成了VXLAN+VIP:PORT来表示一个服务

 

测试环境

验证环境:vmware虚拟机,服务端centos5.10镜像,DPVS端centos3.10镜像

验证目的:验证dpvs支持VXLAN分支代码功能

验证过程:通过搭建DOCKER VXLAN网络和DPVS-VXLAN软件验证流量转发状态是否正常

                  转发路径:client->dpvs->vxlan-docker->nginx-docker、

 

 

 

在VM2配置DOCKER VXLAN网络和nginx软件

docker pull nginx

docker network create --subnet 172.18.0.0/16 mynetwork

 

docker run -d \

--net mynetwork \

--ip 172.18.0.2  \

--restart always \

--name network \

-p 80:80 \

-v /opt/data/nginx:/etc/nginx \

-v /opt/log/nginx:/var/log/nginxo \

-v /opt/share/nginx/html:/usr/share/nginx/html \

nginx:latest

 

ip link add vxlan_dpvs type vxlan id 100 remote 192.168.209.172 local 192.168.209.165 dstport 4789 dev ens33

ip link set vxlan_dpvs up

ip -d link show vxlan_dpvs

 

brctl addif br-0187de5d38cb vxlan_dpvs

 

DPVS配置VXLAN隧道规则表

VIP=192.168.209.172

LIP=172.18.0.7

RS=172.18.0.2

 

# 将wan ip设置到dpdk0接口

./dpip addr add ${VIP}/32 dev dpdk0

# 添加服务<VIP:vport>用于转发

./ipvsadm -A -t ${VIP}:80 -s rr

# 添加real server

./ipvsadm -a -t ${VIP}:80 -r ${RS} -b --vxlan local=192.168.209.171,remote=192.168.209.165,rport=4789,vni=100,mac=02:42:ac:12:00:02

# 添加local ipVXLAN

./ipvsadm --add-laddr -z ${LIP} -t ${VIP}:80 -F dpdk0

./dpip addr add 192.168.209.171/24 dev dpdk0

ifconfig dpdk0.kni 192.168.209.171 netmask 255.255.255.0

 

ipvsadm -ln

执行后可查看到规则

IP Virtual Server version 0.0.0 (size=0)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.209.172:80 rr   
  -> 172.18.0.2              FullNat 3      0          0          192.168.209.171-192.168.209.165:4789-100-02:42:ac:12:00:02
       

在Client端执行curl请求DPVS 的VIP可通

 

0条评论
0 / 1000
欧****鹏
4文章数
0粉丝数
欧****鹏
4 文章 | 0 粉丝
欧****鹏
4文章数
0粉丝数
欧****鹏
4 文章 | 0 粉丝
原创

DPVS虚拟机VXLAN测试

2024-04-30 02:34:46
23
0

场景介绍

引入VPC的概念

DPVS社区最初设计的应用场景是IDC的经典网络,并不适用于云化场景。云化场景与IDC经典网络最核心的区别是:经典网络提供的是多用户共享的网络,而VPC提供的是用户专属的网络。VPC内用户可以任意定义云主机的IP地址,而在经典网络模式下,大家挤在一个二层网络里面,IP地址首先要保证不能重合。

如上图所示,VIP:PORT可以唯一表示一个服务,服务后面挂载了多个实例,但在云化场景下,其VIP地址是可以重复的,所以仍然使用VIP:PORT来表示一个具体服务就行不通了。因此DPVS-VXLAN转发层面不能继续沿用DPVS原有的处理逻辑,为了解决这个问题研发团队引入了租户VPC的概念,把服务和VPC关联起来,

不同的VPC可以有相同的VIP:PORT,这也与实际使用方式相吻合,改造后就变成了VXLAN+VIP:PORT来表示一个服务

 

测试环境

验证环境:vmware虚拟机,服务端centos5.10镜像,DPVS端centos3.10镜像

验证目的:验证dpvs支持VXLAN分支代码功能

验证过程:通过搭建DOCKER VXLAN网络和DPVS-VXLAN软件验证流量转发状态是否正常

                  转发路径:client->dpvs->vxlan-docker->nginx-docker、

 

 

 

在VM2配置DOCKER VXLAN网络和nginx软件

docker pull nginx

docker network create --subnet 172.18.0.0/16 mynetwork

 

docker run -d \

--net mynetwork \

--ip 172.18.0.2  \

--restart always \

--name network \

-p 80:80 \

-v /opt/data/nginx:/etc/nginx \

-v /opt/log/nginx:/var/log/nginxo \

-v /opt/share/nginx/html:/usr/share/nginx/html \

nginx:latest

 

ip link add vxlan_dpvs type vxlan id 100 remote 192.168.209.172 local 192.168.209.165 dstport 4789 dev ens33

ip link set vxlan_dpvs up

ip -d link show vxlan_dpvs

 

brctl addif br-0187de5d38cb vxlan_dpvs

 

DPVS配置VXLAN隧道规则表

VIP=192.168.209.172

LIP=172.18.0.7

RS=172.18.0.2

 

# 将wan ip设置到dpdk0接口

./dpip addr add ${VIP}/32 dev dpdk0

# 添加服务<VIP:vport>用于转发

./ipvsadm -A -t ${VIP}:80 -s rr

# 添加real server

./ipvsadm -a -t ${VIP}:80 -r ${RS} -b --vxlan local=192.168.209.171,remote=192.168.209.165,rport=4789,vni=100,mac=02:42:ac:12:00:02

# 添加local ipVXLAN

./ipvsadm --add-laddr -z ${LIP} -t ${VIP}:80 -F dpdk0

./dpip addr add 192.168.209.171/24 dev dpdk0

ifconfig dpdk0.kni 192.168.209.171 netmask 255.255.255.0

 

ipvsadm -ln

执行后可查看到规则

IP Virtual Server version 0.0.0 (size=0)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.209.172:80 rr   
  -> 172.18.0.2              FullNat 3      0          0          192.168.209.171-192.168.209.165:4789-100-02:42:ac:12:00:02
       

在Client端执行curl请求DPVS 的VIP可通

 

文章来自个人专栏
DPVS
4 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0