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

Componentes · Almacenamiento

Swift y S3

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

Especificado Rook-Ceph RGW

El módulo

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

No existe ese módulo en el espacio de trabajo: openkeel-swift

Cómo se prueba la compatibilidad

OpenKeel no tiene un servicio Swift propio: Rook-Ceph RGW sirve las API Swift y S3 con autenticación de Keystone, ejercitadas con clientes estándar y Skyline en un laboratorio.

De extremo a extremo en un laboratorio

API Swift con la CLI openstack

Los contenedores y objetos se crean y se listan mediante la API Swift de RGW, autenticados por Keystone.

Ejecución

okadm install --mode lab --create-kind --ingress --ceph-s3, y luego openstack container create, object create, object list.

Último resultado Ejecutado en modo laboratorio en un clúster kind nuevo.

Fuente: openkeel-okadm/README.md

De extremo a extremo en un laboratorio

S3 con credenciales EC2 de Keystone

La API S3 acepta credenciales EC2 de Keystone, y los buckets comparten un mismo namespace con los contenedores Swift.

Ejecución

openstack ec2 credentials create, y luego aws s3 mb, PUT y GET.

Último resultado Ejecutado en modo laboratorio en un clúster kind nuevo.

Fuente: openkeel-okadm/README.md

De extremo a extremo en un laboratorio

Página Object Storage de Skyline

La consola de Skyline lista los contenedores RGW, carga un archivo y crea un contenedor mediante la API Swift.

Ejecución

En un navegador en el laboratorio; el archivo se entregó al formulario de carga mediante script.

Último resultado Ejecutado en modo laboratorio; los ajustes de producción solo están cubiertos por tests unitarios, nunca en un clúster real.

Fuente: openkeel-okadm/README.md

Excluido del rewrite

OpenKeel no tiene servicio Swift: Rook-Ceph RGW, habilitado con okadm --ceph-s3, sirve tanto la API de Swift como la de S3 con autenticación de Keystone.

Asumido por la plataforma Cloud Native

Proxy, anillos y demonios de almacenamiento de Swift

Asumido por Rook-Ceph RGW

Por qué se excluyó

Ceph ya proporciona almacenamiento de objetos replicado, operado por Rook en Kubernetes; RGW habla la API de Swift.

Por qué la solución no se ve afectada

RGW es el object-store del catálogo en /swift/v1/AUTH_<project id>; la página de almacenamiento de objetos de Skyline y los comandos container y object de ok se probaron contra él.

Fuente: openkeel-okadm/README.md

Asumido por la plataforma Cloud Native

Capa S3 independiente (s3api, ec2-api-s3)

Asumido por Rook-Ceph RGW

Por qué se excluyó

RGW sirve S3 de forma nativa, con autenticación mediante credenciales EC2 de Keystone.

Por qué la solución no se ve afectada

Contenedores y buckets comparten un espacio de nombres por proyecto: un contenedor creado en Skyline aparece en aws s3 ls. El almacenamiento de objetos es opcional y no está presente sin --ceph-s3.

Fuente: openkeel-okadm/README.md

Aquí solo figura lo que se excluyó por diseño; el trabajo aún no realizado está en los Known gaps del docs/CONFORMANCE.md del módulo. Todos los módulos

Interacciones Swift y S3

Vista de servicio generada por la skill de diagramas a partir del modelo de OpenKeel.

Diagrama openkeel-swift.svg Pantalla completa
Las 3 interacciones del modelo
DeAProtocoloQué
Swift proxySwift storageAPI RESTinternal account/container/object requests (ring lookup)
Swift storageCSI driver (Longhorn)API de Kubernetesone PVC per device (block StorageClass)
CSI driver (Longhorn)Swift storageRuta de datosXFS devices, 1 Longhorn replica

Especificaciones