OpenKeel : la solution Cloud souveraine, française à portée européenne du groupe inherent Découvrir inherent

Architecture

Réseau : Neutron, OVN et OVS

Neutron en Go écrit le modèle logique dans OVN ; ovn-controller et Open vSwitch commutent les paquets des VMs et des conteneurs.

Qui fait quoi, couche par couche

  1. Neutron (Go)

    API, base MariaDB, IPAM, policies ; écrit réseaux, ports, routeurs, groupes de sécurité et IP flottantes dans OVN ; un reconciler corrige les écarts

  2. OVN Northbound

    Modèle logique : switches, routeurs, ports, ACL et Port_Group, NAT (SNAT, IP flottantes), DHCP, load balancers Octavia

  3. ovn-northd + Southbound

    Compile ce modèle en flux logiques ; lie chaque port à un nœud (chassis) ; planifie les passerelles HA

  4. ovn-controller

    Sur chaque nœud : programme br-int en OpenFlow, tunnels Geneve, répond localement en DHCP, ARP et RA

  5. Open vSwitch

    ovsdb-server et ovs-vswitchd : bridge br-int, datapath noyau ou userspace, commute les paquets des VMs et conteneurs

IPv6 dans Neutron

Sous-réseaux IPv6

Modes slaac, dhcpv6-stateful et dhcpv6-stateless ; mêmes validations et erreurs que Python

Annonces de routeur

ipv6_ra_configs sur les ports de routeur OVN : adressage, MTU, route du metadata

DHCPv6 sans agent

Options DHCPv6 écrites dans OVN ; adresses SLAAC calculées en EUI-64

Groupes de sécurité

ACL ip6 et icmp6, groupes distants en IPv6, règles de sortie IPv6 par défaut

Routage

Route par défaut ::/0 vers la passerelle externe ; SNAT et IP flottantes restent en IPv4

Isolation des VMs

Forwarding IPv6 coupé dans le pod, IPv6 désactivé sur le veth de l'hôte

Pas encore vérifié : sous-réseaux IPv6 de tenant sur le vrai plan de données du lab, tests Octavia IPv6 de Tempest. La prefix delegation, dépréciée en amont, n'est pas reprise.

Vue OVSDB

Diagramme openkeel-ovsdb.svg Plein écran
Bases OVN Northbound et Southbound, base Open vSwitch et leurs clients.