Networking en Flexiant Cloud Orchestrator

En la continuación de la serie de artículos sobre la orquesta de la nube, a Flexiant le gustaría hablar sobre cómo se gestiona la organización de la red para máquinas virtuales y contenedores bajo esta orquesta.

Flexiant identifica cuatro tipos de redes a las que puede acceder el cliente en su máquina virtual.

PVIP es una red en la que se asigna una única dirección / 32 a un cliente. El enrutamiento a esta dirección IP se realiza en la máquina host en la que se encuentra la máquina virtual de
IP pública: la red en la que el cliente recibe una VLAN separada y una subred / 29. Esta es la red principal que utilizamos. El enrutamiento se realiza en nodos de enrutador especiales administrados por Flexiant Cloud Orchestrator.

IP privada: red, organización similar a la anterior, excepto que no se muestra externamente en los nodos del enrutador. Un cliente puede usarlo para crear redes internas entre sus máquinas virtuales. Las direcciones IP pueden asignarse tanto desde la interfaz como desde la propia máquina.

VLAN de interfuncionamiento: de nuevo, es muy similar a la IP privada, excepto que no está disponible para el cliente directamente sin la participación del proveedor. Le damos esta red al cliente cuando necesita conectar la infraestructura L2 existente a la infraestructura de Flexiant Cloud Orchestrator.

Todas las redes, excepto la primera, operan en una VLAN aislada separada; en consecuencia, todos los protocolos L2 están disponibles para el cliente: arp, dhcp, lldp, etc. La red PVIP se ejecuta en L3, y la usamos para clientes que desean obtener protección contra DDoS. Si quieren proteger las direcciones IP, necesitan usarlo.

Cada red está asignada a un adaptador de máquina virtual. Por lo tanto, en una máquina virtual puede haber varios tipos de redes al mismo tiempo.

Los clientes pueden elegir arbitrariamente las direcciones IP para IP privada y VLAN de interfuncionamiento. Las direcciones IP para IP pública y PVIP se seleccionan de la lista en el panel de control.

imagen

Tan pronto como el adaptador recibe la red, y opcionalmente una dirección IP, la información sobre esto entra en la base de datos de la orquesta, y la configuración correspondiente se ingresa en los nodos de enrutamiento (para la red IP pública), nodos de computación (para PVIP), así como en el servidor DHCP ubicado en el nodo de gestión, en caso de que se haya configurado una dirección IP. La tabla de correspondencia entre la dirección MAC virtual de la tarjeta y la dirección IP seleccionada se ingresa en la base de datos PgSQL, desde donde es extraída por el servidor DHCP.

En cada nodo, ya sea un nodo de enrutador o un nodo de proceso, se instala el agente Flexiant, que recibe comandos de la orquesta. Dentro de los propios nodos, se genera un enrutador virtual en un espacio de nombres de red separado. Por lo tanto, la pila de red de Linux en los nodos y la pila de red del enrutador virtual son independientes entre sí.

Los nodos de enrutador que aseguran el funcionamiento de IP pública se duplican entre sí utilizando el protocolo VRRP en la implementación de carpa. Si uno de los nodos falla, el tráfico pasará por el otro.

Aquí hay un ejemplo de enrutamiento en el nodo de ruta para uno:

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

Un par de interfaces evrr / evrl son veths regulares en Linux que interconectan dos espacios de nombres de red. Por lo tanto, se ve cómo el tráfico entrante que ingresa al enrutador virtual se enruta allí a una interfaz específica.

La administración de firewall también se lleva a cabo en un enrutador virtual. Se crean tablas y cadenas separadas que permiten o no permiten el tráfico a una interfaz de red en particular.

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

Usamos OSPF como protocolo de enrutamiento, la configuración con cómputo y el nodo del enrutador llega al núcleo de la red, y desde allí a los enrutadores centrales. Como software en los nodos, se usa bird, que es controlado por Flexiant. También realizamos cambios en las plantillas de configuración, ya que Flexiant nos permite hacer esto. Flexiant también le permite usar estadísticas y bgp como protocolos de enrutamiento.

En términos de pago, todas las redes son gratuitas. El pago es solo para direcciones IP para PVIP y redes IP públicas. Sin embargo, las direcciones IP para PVIP son más caras porque están protegidas de ataques DDoS.

All Articles