OpenKeel: la soluzione Cloud sovrana, francese e di portata europea, del gruppo inherent Scopri inherent

Architettura

Panoramica

Client, API Go, worker e agenti, infrastruttura condivisa, operator, la piattaforma Kubernetes e i sistemi esterni.

Servizi, dati e piattaforma

Diagramma openkeel-overview.svg Schermo intero
Dall'alto in basso: client, API Go, worker e agenti, infrastruttura condivisa, operatori, piattaforma Kubernetes, sistemi esterni. Le interazioni comuni a tutti i servizi (token, database, notifiche, certificati TLS) sono disegnate come bus; ogni flusso è cifrato con TLS.

Non riscrivere ciò che è complesso

Ogni servizio si basa su un componente Kubernetes collaudato; Ironic è l'eccezione, Python upstream in un chart OpenKeel.

Calcolo

Nova → KubeVirt

Le istanze sono VirtualMachine; CDI importa le immagini

Per saperne di più
Blocco

Cinder → CSI a blocchi

I volumi sono PVC su qualsiasi CSI a blocchi: Rook-Ceph, Longhorn, NetApp, Dorado, Pure

Per saperne di più
File

Manila → NFS-Ganesha

Gateway NFS creato su richiesta nella rete del tenant, su un volume CSI a blocchi

Per saperne di più

Isolamento dei tenant: i percorsi chiusi

Una VM non ha alcuna interfaccia sulla rete CNI di Kubernetes: ogni NIC è collegata a una propria porta Neutron nell'OVN di OpenKeel. Una protezione installata dal plugin CNI chiude i percorsi attraverso i namespace che condivide.

PercorsoPerché è chiuso
Dal guest a un'altra rete di tenantL'unica uscita del tap è il bridge nel Pod e il veth verso br-int; ovn-controller lo associa a una porta logica. Gli altri switch sono raggiungibili solo tramite un router Neutron
Dal guest alla rete dei Pod, al nodo, ai Service del clusterNessuna interfaccia del guest li tocca e la protezione chiude la strada attraverso i namespace condivisi
MAC o IP contraffattiport_security della porta logica, scritto da Neutron
Porta di un altro progettoUn progetto non può creare né Pod né NAD; solo il ruolo service può associare una porta

Fonte: openkeel-neutron/docs/VM-NETWORKING.md (§ Tenant isolation). make test-cni riproduce l'attacco in namespace reali, con e senza la protezione.