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

Architektur

FinOps / GreenOps und CloudKitty

Was ein Projekt gekostet hat, was es kosten würde und was es ausstößt: CloudKitty bewertet die Nutzung im Nachhinein, openkeel-pricing beziffert Kosten und CO₂ sofort, und Skyline zeigt beides.

Von den Metriken zum Dashboard

  1. 01

    Prometheus

    openstack-exporter-Reihen (Instanzen, Volumes, Images) im Prometheus des Observability-Stacks

  2. 02

    CloudKitty-Processor

    Erfasst stündlich die Nutzung jedes Projekts und bepreist sie mit hashmap-Regeln und CEL-Skripten

  3. 03

    InfluxDB

    Behält die bewertete Historie pro Projekt, Zeitraum und Dienst

  4. 04

    Skyline

    Die FinOps-/GreenOps-Seite liest die Zusammenfassungen; die Formulare und das Quota-Popup lesen openkeel-pricing

Zwei Dienste, die sich ergänzen

rating

CloudKitty: Was hat es gekostet?

  • Bewertet die erfasste Nutzung Periode für Periode
  • Behält die Historie; Zusammenfassungen, Dataframes, Neubewertung
  • Die API von OpenStack, für ihre Clients unverändert
Mehr erfahren
pricing

openkeel-pricing: Was würde es jetzt kosten, und was stößt es aus?

  • Einheitskosten und CO₂-Fußabdruck jeder Ressource, pro Projekt
  • Angebote für Ressourcen im Aufbau (VM nach Flavor, Volumes, S3, DNS, VPN)
  • Eine OpenKeel-Ergänzung ohne OpenStack-Vorbild, standardmäßig installiert

CloudKitty in OpenKeel

Der Bewertungsdienst, in Go aus der Reverse-Spec von stable/2026.2 neu geschrieben: dieselben 66 API-Operationen (v1, hashmap, pyscripts, v2), Statuscodes, Fehlerkörper und Policies.

TeilOpenKeel
API (cloudkitty-api)Regeln, Module, Zusammenfassungen, Dataframes und Sofortangebote; Angebote in der API mit demselben Bewertungscode berechnet
Processor (cloudkitty-processor)Listet die Projekte (Keystone-Fetcher: jedes aktivierte Projekt), erfasst ihre Nutzung in jeder Periode (1 Stunde) aus Prometheus, bewertet und speichert sie; ein einziger aktiver Processor hält ein Kubernetes-Lease
Bewertunghashmap-Regeln (Dienste, Felder, Zuordnungen, Schwellen) und Skripte als CEL-Ausdrücke statt Python: keine Anweisungen, kein I/O, Kosten- und Zeitgrenzen
SpeicherInfluxDB 1.x oder 2.x (InfluxQL mit escapten Literalen); MariaDB Galera für die Regeln und den Scope-Status
Erfasste ReihenDie Upstream-Metrikdatei auf openstack-exporter: Instanzen (openstack_nova_server_status), Volume-Kapazität (openstack_cinder_limits_volume_used_gb), Image-Größe (openstack_glance_image_bytes), Projekte mit dem Label tenant_id
DeploymentOptionale Komponente: okadm install --components …,cloudkitty --grafana; okadm schaltet openstack-exporter ein und richtet den Collector auf das Prometheus des Stacks; Lab: ein Processor, InfluxDB 2 GiB
Behobene Upstream-FehlerAuf den Scope begrenzte Löschungen, Policy von GET /v2/rating/modules, Angebote mit flachem desc, kein ungeprüfter Keystone-Aufruf, Zeitfenster von Neubewertung und Reset

Tests, weggelassene Funktionen und das API-Inventar stehen auf der Komponentenseite von CloudKitty.

openkeel-pricing und die OpenKeelTenant-Tarife

Die Tarife sind Kubernetes-Ressourcen, OpenKeelTenant (CRD, von okadm in beiden Modi installiert): Die Ressource namens default gilt für jedes Projekt ohne eigene. openkeel-pricing beobachtet sie im Speicher, ohne Datenbank und ohne Bus.

RessourceUnitTarif
cpuvCPUKosten und CO₂ pro Monat
ramGiBKosten und CO₂ pro Monat
gpuGPUKosten und CO₂ pro Monat
diskGiBKosten und CO₂ pro Monat
s3GiBKosten und CO₂ pro Monat
dnsDomainKosten und CO₂ pro Monat
vpnVPNKosten und CO₂ pro Monat

API: GET /v1/rates (wirksame Tarife und das OpenKeelTenant, aus dem jeder stammt) und POST /v1/quotes (ein Flavor, eine Anzahl und Ressourcen: Zeilen und Summen von Kosten und CO₂). Kosten in € pro Monat, CO₂ in kg CO₂e pro Monat (× 12 für das Jahr).

Beispieldaten mit okadm --demo

Mit CloudKitty schreibt okadm install --demo einen bewerteten Frame pro Tag für das Demo-Projekt, vom ersten Tag des Vormonats bis gestern (seine VM, sein Volume, sein Load Balancer, sein Container und seine Floating IPs mit ihren echten IDs, eine im Vormonat gelöschte VM, das Basis-Image), und legt dann den Scope-Status des Projekts an, damit der Processor es ab heute bewertet. Die FinOps-/GreenOps-Seite zeigt beide Monate zugleich.