OpenKeel: la solución Cloud soberana, francesa y de alcance europeo, del grupo inherent Descubrir inherent

Arquitectura

Redes: Neutron, OVN y OVS

Neutron en Go escribe el modelo lógico en OVN; ovn-controller y Open vSwitch conmutan los paquetes de las VM y los contenedores.

Quién hace qué, capa por capa

  1. Neutron (Go)

    API, base de datos MariaDB, IPAM, políticas; escribe redes, puertos, routers, grupos de seguridad e IP flotantes en OVN; un reconciliador corrige las desviaciones

  2. OVN Northbound

    Modelo lógico: switches, routers, puertos, ACL y Port_Groups, NAT (SNAT, IP flotantes), DHCP, load balancers de Octavia

  3. ovn-northd + Southbound

    Compila el modelo en flujos lógicos; vincula cada puerto a un nodo (chassis); planifica los gateways HA

  4. ovn-controller

    En cada nodo: programa br-int con OpenFlow, túneles Geneve, responde localmente a DHCP, ARP y RA

  5. Open vSwitch

    ovsdb-server y ovs-vswitchd: bridge br-int, datapath de kernel o de espacio de usuario, conmuta los paquetes de las VM y los contenedores

IPv6 en Neutron

Subredes IPv6

modos slaac, dhcpv6-stateful y dhcpv6-stateless; mismas validaciones y errores que en Python

Anuncios de router

ipv6_ra_configs en los puertos de router OVN: direccionamiento, MTU, ruta de metadatos

DHCPv6 sin agentes

Opciones DHCPv6 escritas en OVN; direcciones SLAAC calculadas con EUI-64

Grupos de seguridad

ACL ip6 e icmp6, grupos remotos IPv6, reglas de salida IPv6 por defecto

Enrutamiento

Ruta por defecto ::/0 hacia el gateway externo; SNAT e IP flotantes siguen en IPv4

Aislamiento de las VM

Reenvío IPv6 desactivado en el Pod, IPv6 desactivado en el veth del host

Aún no verificado: subredes IPv6 de los tenants en el plano de datos real del laboratorio, pruebas IPv6 de Octavia en Tempest. La delegación de prefijos, obsoleta upstream, no se traslada.

Vista OVSDB

Diagrama openkeel-ovsdb.svg Pantalla completa
Bases de datos OVN Northbound y Southbound, la base de datos de Open vSwitch y sus clientes.