OpenKeel: die souveräne französische Cloud-Lösung mit europäischer Reichweite der inherent-Gruppe inherent entdecken

Architektur

Übersicht

Clients, Go-APIs, Worker und Agenten, gemeinsame Infrastruktur, Operatoren, die Kubernetes-Plattform und externe Systeme.

Dienste, Daten und Plattform

Diagramm openkeel-overview.svg Vollbild
Von oben nach unten: Clients, Go-APIs, Worker und Agenten, gemeinsame Infrastruktur, Operatoren, Kubernetes-Plattform, externe Systeme. Interaktionen, die alle Dienste teilen (Tokens, Datenbank, Benachrichtigungen, TLS-Zertifikate), sind als Busse gezeichnet; jeder Datenfluss ist mit TLS verschlüsselt.

Was komplex ist, nicht neu schreiben

Jeder Dienst stützt sich auf einen bewährten Kubernetes-Baustein; Ironic ist die Ausnahme, upstream Python in einem OpenKeel-Chart.

Compute

Nova → KubeVirt

Instanzen sind VirtualMachines; CDI importiert die Images

Mehr erfahren
Block

Cinder → Block-CSI

Volumes sind PVCs auf jedem Block-CSI-Treiber: Rook-Ceph, Longhorn, NetApp, Dorado, Pure

Mehr erfahren
Datei

Manila → NFS-Ganesha

NFS-Gateway, bei Bedarf im Mandantennetz erstellt, auf einem Block-CSI-Volume

Mehr erfahren
Netzwerk

Neutron → OVN

VM-Netz, isoliert vom Kubernetes-Netz (Multus)

Mehr erfahren
Objekt

Swift / S3 → Ceph

Rook-Ceph und sein RGW-Gateway

Mehr erfahren
DNS

Designate → ExternalDNS

Von ExternalDNS veröffentlichte Zonen und Einträge

Mehr erfahren
HA

Masakari → Medik8s

Node Healthcheck und Self Node Remediation

Mehr erfahren
Bare Metal

Ironic bleibt in Python

Zu viele Hardwarekonfigurationen zum Testen

Mehr erfahren

Mandantenisolation: die geschlossenen Wege

Eine VM hat keine Schnittstelle im Kubernetes-CNI-Netz: Jede NIC ist an einen eigenen Neutron-Port im OVN von OpenKeel angeschlossen. Ein vom CNI-Plugin installierter Schutzmechanismus schließt die Wege über die gemeinsam genutzten Namespaces.

PfadWarum er geschlossen ist
Gast zu einem anderen MandantennetzDer einzige Ausgang des tap ist die Bridge im Pod und das veth zu br-int; ovn-controller ordnet es einem logischen Port zu. Andere Switches sind nur über einen Neutron-Router erreichbar
Gast zum Pod-Netz, zum Knoten, zu Cluster-ServicesKeine Schnittstelle des Gastes berührt sie, und der Schutzmechanismus schließt den Weg über die gemeinsam genutzten Namespaces
Gefälschte MAC oder IPport_security des logischen Ports, von Neutron geschrieben
Port eines anderen ProjektsEin Projekt kann weder Pods noch NADs erstellen; nur die Rolle service kann einen Port binden

Quelle: openkeel-neutron/docs/VM-NETWORKING.md (§ Tenant isolation). make test-cni spielt den Angriff in echten Namespaces nach, mit und ohne Schutzmechanismus.