Rook-Ceph
Volúmenes de bloque Ceph RBD gestionados por Rook en los discos del clúster; el mismo Ceph sirve también S3 y Swift a través de RGW.
OpenKeel: la solución Cloud soberana, francesa y de alcance europeo, del grupo inherent Descubrir inherent
Arquitectura
Los volúmenes de Cinder, las imágenes de Glance y los discos de las VM de Nova residen en volúmenes de bloque de Kubernetes: OpenKeel funciona con cualquier driver CSI de bloque, un backend de Cinder por StorageClass. Se admiten Rook-Ceph, Longhorn, NetApp, Huawei Dorado y nuestro propio driver Pure Storage.
Almacenamiento software-defined en los discos del clúster o cabinas empresariales: la elección es una StorageClass, no una reescritura.
Volúmenes de bloque Ceph RBD gestionados por Rook en los discos del clúster; el mismo Ceph sirve también S3 y Swift a través de RGW.
El backend por defecto de okadm en producción y la referencia de las pruebas: volúmenes replicados en los discos de los nodos, snapshots, copias de seguridad, RWX.
Cabinas NetApp mediante el driver CSI Trident de NetApp; la cabina realiza los snapshots y los clones.
Cabinas all-flash OceanStor Dorado mediante el plugin CSI de Huawei; la cabina realiza los snapshots y los clones.
Nuestro propio driver CSI en Go para FlashArray sobre iSCSI: multipath, snapshots y snapshots de grupo, clones, ampliación en caliente, RWX de bloque para la live migration de KubeVirt.
Nuestro driverLa misma API de volúmenes y los mismos tipos de volumen que OpenStack; cada tipo apunta a un backend
Un backend csi-block por StorageClass: Longhorn, Ceph RBD, NetApp, Dorado o Pure
Volumen = PVC en el namespace del proyecto, snapshot = VolumeSnapshot, clon = dataSource de PVC
El PVC se conecta en caliente a la VM; los attachments de Nova se conservan como en OpenStack
| Capacidad CSI | Uso en OpenKeel |
|---|---|
| Volúmenes de bloque (volumeMode: Block) | Volúmenes de Cinder, discos de VM, imágenes de Glance |
| VolumeSnapshot | Snapshots de Cinder, copias de seguridad, reversión a un snapshot |
| Clon (dataSource de PVC) | Volumen a partir de una imagen, de un snapshot o de otro volumen |
| Ampliación de volumen | Ampliación en Cinder, en caliente cuando el driver lo permite |
| ReadWriteMany en bloque | Volúmenes multi-attach y live migration de KubeVirt |
| VolumeGroupSnapshot | Snapshots coherentes de varios volúmenes (los grupos de Cinder aún no están implementados) |
Las QoS specs se convierten en parámetros de la StorageClass cuando el driver las admite; si no, son una carencia conocida. Fuente: generate-go-from-spec/references/backends/cinder-csi-block.md, openkeel-cinder/config/config.example.yaml.
Cada backend designa una StorageClass y su clase de snapshot; los tipos de volumen permiten elegir a los tenants. El host del volumen se escribe openkeel@<backend>#<storage class>.
backends:
- name: longhorn
driver: csi-block
storage_class: longhorn
snapshot_class: longhorn-snapshot
volume_mode: Block
- name: pure
driver: csi-block
storage_class: pure-iscsi
snapshot_class: pure-snapshot
volume_mode: Block
multiattach: true
volume_types:
- {name: standard, backend: longhorn}
- {name: performance, backend: pure}| Driver | Estado en OpenKeel |
|---|---|
| Longhorn | Backend por defecto; las pruebas de Cinder, Glance y Nova se ejecutan sobre él |
| Pure Storage (driver de OpenKeel) | Prototipo: csi-sanity se supera en memoria (79 specs); aún no se ha ejecutado en una FlashArray real |
| Rook-Ceph (RBD) | Admitido mediante el backend csi-block; aún no probado en el laboratorio de OpenKeel |
| NetApp (Trident) | Admitido mediante el backend csi-block; aún no probado en el laboratorio de OpenKeel |
| Huawei Dorado | Admitido mediante el backend csi-block; aún no probado en el laboratorio de OpenKeel |