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

La solución Cloud soberana, francesa y de alcance europeo, del grupo inherent

Un Cloud open source construido sobre Kubernetes, OVN y KubeVirt

OpenKeel construye un Cloud multi-tenant de forma nativa a partir de tecnologías Cloud Native y open source y es él mismo open source bajo la licencia Apache 2.0, diseñado para ser SecNumCloud-ready. Sus API REST son totalmente compatibles con las de OpenStack: los mismos módulos, reescritos en Go, se despliegan en clústeres Kubernetes, y una línea de comandos hace que el despliegue y la gestión del ciclo de vida sean plug and play. OpenKeel es un cloud pensado en la era de la IA y para la IA.

  • Soberano
  • Hecho en Francia
  • Apache 2.0
  • SecNumCloud-ready
  • Kubernetes
  • OVN
  • KubeVirt
  • Go
  • API de OpenStack
  • Multi-tenant
Reproducción acelerada de una instalación real de okadm en laboratorio: clúster kind, operadores, servicios de datos, los componentes de OpenKeel y las URL de acceso

«Una plataforma Cloud y Cloud Native moderna y soberana, con un amplio ecosistema»

Una solución soberana francesa de alcance europeo

OpenKeel es una solución del grupo inherent, un grupo informático francés experto en IA, cloud, ciberseguridad y conectividad para empresas y organismos públicos (inherent.fr).

Construido sobre software open source y estándares abiertos, OpenKeel ofrece a las organizaciones un Cloud que controlan: el código, el despliegue y los datos permanecen en sus manos, en la infraestructura que elijan, en Francia y en Europa.

  • Una solución francesa del grupo inherent
  • Componentes open source, sin dependencia propietaria
  • Open source bajo la licencia Apache 2.0
  • Desplegado en los propios clústeres Kubernetes del cliente
  • Compatible con el ecosistema OpenStack

OpenKeel de un vistazo

OpenKeel conserva los contratos que dan valor al ecosistema OpenStack (API REST, modelo de datos MariaDB, mensajes RabbitMQ) y sustituye su implementación en Python por servicios Go nativos de Kubernetes.

El plano de datos no se reescribe: se confía a proyectos Cloud Native probados. Kubernetes orquesta, KubeVirt ejecuta las VM, OVN transporta las redes de los tenants y CSI proporciona los volúmenes.

  • 38 reverse-specs de los repositorios upstream
  • 25 módulos Go en el espacio de trabajo
  • Versión 2026.2.0, compatible con la API de OpenStack 2026.2
  • Clientes, SDK, Terraform y Tempest sin cambios

Construido sobre tecnologías Cloud Native y open source

OpenKeel reescribe el plano de control y confía el plano de datos a componentes Kubernetes probados.

Orquestación

Kubernetes

Cada servicio es un Deployment o un DaemonSet; Kubernetes gestiona las réplicas, los reinicios, la configuración y los secretos.

Más información
Redes

OVN y Open vSwitch

Neutron escribe redes, routers, ACL y NAT en OVN Northbound; la red de las VM permanece aislada de la red de Pods.

Más información
Cómputo

KubeVirt

Las instancias de Nova son VirtualMachines; CDI importa las imágenes de Glance en volúmenes.

Más información
Almacenamiento

Cualquier CSI de bloque

Los volúmenes de Cinder funcionan sobre Rook-Ceph, Longhorn, NetApp, Huawei Dorado o nuestro propio driver Pure Storage; los recursos compartidos de Manila pasan por NFS-Ganesha, S3 y Swift por Ceph RGW.

Más información
Contenedores

Kata

Zun ejecuta cada contenedor en su propia microVM: un kernel por contenedor, con su puerto Neutron como única red.

Más información
Resiliencia

Medik8s y ExternalDNS

Masakari se apoya en Node Healthcheck y Self Node Remediation; Designate publica a través de ExternalDNS.

Más información

Multi-tenant de forma nativa

El modelo de Keystone (dominios, proyectos, roles, políticas) divide el Cloud en tenants. Los tenants no tienen acceso a Kubernetes: solo los servicios de OpenKeel crean Pods, VM y volúmenes.

Cada NIC de VM se conecta a su propio puerto Neutron en OVN, sin interfaz en la red de Pods; una protección CNI cierra los caminos hacia el nodo. Manila crea un gateway NFS dentro de la red del tenant y Zun aísla cada contenedor en una microVM.

  • Proyectos, cuotas y políticas idénticos a OpenStack
  • Redes de tenants aisladas de la red de Kubernetes
  • port_security contra la suplantación de MAC e IP
  • Una microVM Kata por contenedor de Zun

Diseñado para ser SecNumCloud-ready

SecNumCloud, la cualificación de la ANSSI, se aplica a un servicio y a su proveedor, no a un software. OpenKeel está diseñado para que un proveedor pueda cualificar un Cloud construido sobre él: no pone ningún obstáculo a los requisitos técnicos y aporta los mecanismos y las evidencias que exige la auditoría.

Cada requisito se sigue de forma abierta: lo que es conforme hoy, lo que está en curso y lo que queda por evolucionar, cada uno con su evidencia en el código.

  • Código Go open source, sin telemetría, sin llamadas salientes
  • Un evento de auditoría CADF por cada llamada a la API
  • RBAC de OpenStack, MFA en Keystone, Barbican con un HSM
  • Todos los flujos internos en TLS

100 % compatible con las API de OpenStack

Un componente de OpenKeel sustituye al original sin que los clientes, SDK, Terraform, Tempest ni los servicios vecinos lo noten.

Misma API REST

  • Rutas, parámetros, códigos de estado HTTP
  • Cuerpos de error y microversiones
  • Políticas idénticas

Misma base de datos

  • Mismas tablas y columnas
  • Mismas migraciones de esquema
  • Datos existentes reutilizables

Mismos mensajes RabbitMQ

  • sobres de oslo.messaging
  • Mismos RPC y topics
  • Notificaciones versionadas

Los módulos reescritos en Go

Los servicios de OpenStack, especificados a partir de su código upstream y luego generados en Go, cada uno con su reverse-spec, su diagrama y sus pruebas.

Placement

Inventarios de recursos y asignaciones; el primer componente reescrito en Go.

GoMariaDB Galera

Nova

Las instancias se ejecutan como VirtualMachines de KubeVirt; conductor con el scheduler integrado en el proceso, un agente por nodo.

GoKubeVirt y CDI

Zun

Containers as a Service: un Pod por contenedor, aislado en su propia microVM Kata, con su puerto Neutron como única red.

GoPods Kata

Masakari

Alta disponibilidad de instancias; estado de los nodos mediante Node Healthcheck y Self Node Remediation.

GoMedik8s

Ironic

Bare metal: sigue siendo Python upstream, empaquetado en un chart de OpenKeel; demasiadas configuraciones de hardware que probar.

Chart (Python upstream)Chart de Helm (Python upstream)

Cinder

Los volúmenes de bloque son PVC de una StorageClass CSI (Rook-Ceph, Longhorn, NetApp, Huawei Dorado, Pure Storage), con snapshots CSI y copias de seguridad de cinder-backup.

GoCualquier CSI de bloque

Glance

Imágenes almacenadas en PVC de bloque mediante DataVolumes de CDI; los cuatro métodos de importación interoperables.

GoCDI y CSI

Manila

Shares NFS multi-tenant: un gateway NFS-Ganesha por red de share, dentro de la red del tenant.

GoNFS-Ganesha

Swift y S3

Almacenamiento de objetos: Rook-Ceph y su gateway RGW para las API S3 y Swift.

EspecificadoRook-Ceph RGW

CSI de Pure Storage

Driver CSI en Go para Pure Storage FlashArray sobre iSCSI: snapshots, clones, ampliación, bloque RWX para KubeVirt. Prototipo.

GoFlashArray sobre iSCSI

Neutron

Redes, subredes, puertos, routers y grupos de seguridad escritos en la base de datos OVN Northbound; IPv4 e IPv6.

GoOVN y Open vSwitch

Octavia (OVN)

La API Octavia v2 servida por neutron-api; load balancers de OVN, activados por defecto.

GoLoad balancers de OVN

Neutron-FWaaS

Grupos, políticas y reglas de firewall (FWaaS v2).

GoACL de OVN

Neutron-VPNaaS

VPN IPsec site-to-site: IKE, políticas IPsec, conexiones.

GoAgente IPsec

OVN-BGP-Agent

Anuncia por BGP las IP de las VM y las IP flotantes accesibles a través del nodo.

GoFRR y OVN

Keystone

Identidad multi-tenant: dominios, proyectos, roles; tokens, OIDC, JWT, credenciales de aplicación.

GoSQL, OIDC, JWT

Barbican

Secretos, contenedores de secretos y claves.

GoMariaDB, PKCS#11

Designate

Zonas y recordsets publicados por ExternalDNS (un DNSEndpoint por recordset).

GoExternalDNS

CloudKitty

Tarificación (FinOps): uso recogido de Prometheus, tarificado con reglas hashmap y scripts CEL, historial tarificado en InfluxDB; con openkeel-pricing (presupuestos de coste y de carbono), alimenta la página FinOps / GreenOps de Skyline.

GoPrometheus, InfluxDB

Heat

Orquestación: aún no hay servicio Go; los comandos de stack y orquestación se reescriben en ok.

Solo CLI—

API EC2

API EC2 Query (97 acciones), firmas SigV2 y SigV4 verificadas por Keystone: AWS CLI, boto3, Terraform.

GoNova, Neutron, Cinder

Skyline

Un único binario Go: la API de la consola, los archivos de la consola React y un proxy hacia el catálogo de Keystone.

GoConsola React upstream

ok (CLI)

El cliente de OpenStack: los comandos de python-openstackclient 10.3.1 y sus plugins, con los mismos argumentos, salidas y códigos de salida.

GoBinario Go estático

okadm

La CLI de despliegue: plan, install, upgrade, status, uninstall; laboratorio kind o producción.

Goclient-go, SDK de Helm

Desplegado en Kubernetes, plug and play

okadm es un binario Go que integra client-go, el SDK de Helm y los charts de OpenKeel. Comprueba el clúster, instala los operadores que faltan y después los servicios de datos y los componentes en orden de dependencias, y se reanuda donde se detuvo.

okadm plan    --mode lab                                # does the cluster fit? what is missing?
okadm install --mode lab --create-kind --ingress --demo  # kind cluster, Traefik, Skyline, demo project
okadm status                                            # version, Helm releases, pod state
okadm upgrade --version 2026.2.1                        # one component at a time

FAQ

Las respuestas esenciales para entender OpenKeel.

¿Qué es OpenKeel?

La solución Cloud soberana, francesa y de alcance europeo, del grupo inherent. Reescribe los servicios de OpenStack en Go sobre tecnologías Cloud Native (Kubernetes, OVN, KubeVirt, CSI). Sus API REST son compatibles con las de OpenStack y se despliega en Kubernetes con la CLI okadm.

¿Quién está detrás de OpenKeel?

El grupo inherent, un grupo informático francés experto en IA, cloud, ciberseguridad y conectividad para empresas y organismos públicos.

¿Bajo qué licencia se distribuye OpenKeel?

La licencia Apache 2.0, la de OpenStack: el código puede usarse, modificarse y redistribuirse, también comercialmente, con una concesión explícita de patentes; la licencia y los avisos de copyright acompañan cada copia, y los cambios se señalan como tales.

¿Está OpenKeel cualificado SecNumCloud?

SecNumCloud (ANSSI) cualifica un servicio y a su proveedor, no un software. OpenKeel está diseñado para ser SecNumCloud-ready: cada flujo interno en TLS, una pista de auditoría CADF en cada API, el RBAC de OpenStack, Barbican con un HSM, aislamiento Kata para los contenedores, imágenes firmadas con un SBOM en un registro controlado. Lo que hoy es conforme y lo que queda por evolucionar, requisito por requisito, está en SecNumCloud-ready.

¿Siguen funcionando mis herramientas de OpenStack?

Sí: cada componente conserva las rutas, parámetros, códigos HTTP, cuerpos de error, microversiones y políticas del original. Los clientes, SDK, Terraform, Tempest y Skyline no ven ninguna diferencia. Las diferencias conocidas se enumeran en el archivo docs/CONFORMANCE.md de cada módulo.

Reverse-specs, diagramas y presentación

Especificaciones

38 reverse-specs

Endpoints, errores, interacciones, escenarios y rewrite pack de cada repositorio upstream.

Explorar
Arquitectura

25 diagramas

Vista general, plataforma, por servicio, por protocolo y ubicación en los nodos.

Ver las vistas
Presentación

Presentación de 57 diapositivas

La presentación de referencia del proyecto, en PowerPoint y PDF.

Descargar