Flexiant Cloud Orchestrator中的网络

在关于云乐队的系列文章的续篇中,Flexiant想要谈谈如何在该乐队下管理虚拟机和容器的网络组织。

Flexiant标识客户端可以在其虚拟机中访问的四种网络类型。

PVIP是一个将单个/ 32地址分配给客户端的网络。到此IP地址的路由是在
公共IP 虚拟机所在的主机上执行的,该主机是客户端在其中接收单独的VLAN和/ 29子网的网络。这是我们使用的主要网络。它的路由在由Flexiant Cloud Orchestrator管理的特殊路由器节点上执行。

专用IP-网络,组织与上一个类似,不同之处在于它不在路由器节点上外部显示。客户端可以使用它在其虚拟机之间创建内部网络。 IP地址既可以从接口也可以在机器本身上分配。

互通VLAN –再次与专用IP非常相似,不同之处在于,如果没有提供者的参与,则不能直接供客户端使用。当客户需要将现有的L2基础架构连接到Flexiant Cloud Orchestrator基础架构时,我们会将其提供给客户端。

除第一个网络外,所有网络都在单独的隔离VLAN中运行;因此,客户端可以使用所有第二层协议:arp,dhcp,lldp等。 PVIP网络在L3上运行,我们将其用于希望从DDoS获得保护的客户端。如果他们想保护IP地址,则需要使用它。

每个网络都分配给一个虚拟机适配器。因此,在一台虚拟机中,可以同时存在多种类型的网络。

客户端可以任意选择专用IP和互通VLAN的IP地址。从控制面板的列表中选择公用IP和PVIP的IP地址。

图片

适配器接收到网络以及可选的IP地址后,有关该信息的信息就会进入管弦乐队的数据库,并在路由节点(对于公共IP网络),计算节点(对于PVIP)以及位于DHCP服务器中的相应设置中输入相应的设置如果已设置IP地址,则在管理节点上。卡的虚拟mac地址与所选IP地址之间的对应表将输入到PgSQL数据库中,DHCP服务器将从该数据库中获取该对应表。

在每个节点上,无论是路由器节点还是计算节点,都将安装Flexiant代理,该代理从管弦乐队接收命令。在节点本身内部,在单独的网络名称空间中引发了虚拟路由器。因此,节点上的Linux网络堆栈和虚拟路由器网络堆栈彼此独立。

在鲤鱼的实现中,使用VRRP协议确保公共IP正常工作的路由器节点相互复制。如果其中一个节点发生故障,流量将通过另一个节点,

这是一个在路由节点上进行路由的示例:

Router0# ip a l
766: VLAN367: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
    link/ether 00:1e:67:d3:67:5c brd ff:ff:ff:ff:ff:ff
    inet6 fe80::e0fe:25ff:fef9:7304/64 scope link
     valid_lft forever preferred_lft forever
Router0# brctl show VLAN367
bridge name     bridge id               STP enabled     interfaces
VLAN367         8000.001e67d3675c       no              bond0.367
                                                                               evrl-000190

#         ,     shell  screen,       

Router0# evrs
Router0# ip a l evrr-000190
768: evrr-000190: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether e6:52:0f:21:83:b0 brd ff:ff:ff:ff:ff:ff
    inet 217.23.xxx.xxx/29 scope global evrr-000190
       valid_lft forever preferred_lft forever
    inet6 fe80::e452:fff:fe21:83b0/64 scope link
       valid_lft forever preferred_lft forever

Router0# ip r l 217.23.xxx.xxx
217.23.xxx.xxx/29 dev evrr-000190  proto kernel  scope link  src 217.23.xxx.xxx
Router#0 ip r l ip r l 0.0.0.0/0
default via 10.158.192.3 dev evrr-000000  proto bird

一对evrr / evrl接口是Linux上的常规版本,它们将两个网络名称空间互连。因此,可以看到进入虚拟路由器的传入流量如何在那里路由到特定接口。

防火墙管理也发生在虚拟路由器中。创建了单独的表和链,这些表和链允许或不允许到特定网络接口的流量。

Router0# iptables -nvL evrr-000190-4i
Chain evrr-000190-4i (1 references)
 pkts bytes target     prot opt in     out     source               destination
 435M  124G RETURN     all  --  *      *       217.23.xxx.xxx        0.0.0.0/0
    0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0
Router0# iptables -nvL evrr-000190-4o
Chain evrr-000190-4o (1 references)
pkts bytes target     prot opt in     out     source               destination
587M  782G ACCEPT     all  --  *      *       0.0.0.0/0            217.23.xxx.xxx
6038K  350M DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0

我们使用OSPF作为路由协议,将配置与计算和路由器节点连接到网络的核心,再从那里到达核心路由器。作为节点上的软件,使用了由Flexiant控制的bird。我们还对配置模板进行了更改,因为Flexiant允许我们执行此操作。Flexiant还允许您将statics和bgp用作路由协议。

在付款方面,所有网络都是免费的。仅针对PVIP和公共IP网络的IP地址付款。但是,PVIP的IP地址更昂贵,因为它们受到了DDoS攻击的保护。

All Articles