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

Architektur

Block-Storage auf jedem CSI-Treiber

Cinder-Volumes, Glance-Images und die VM-Festplatten von Nova liegen auf Kubernetes-Block-Volumes: OpenKeel arbeitet mit jedem Block-CSI-Treiber, ein Cinder-Backend pro StorageClass. Rook-Ceph, Longhorn, NetApp, Huawei Dorado und unser eigener Pure-Storage-Treiber werden unterstützt.

Unterstützte Block-CSI-Treiber

Software-defined Storage auf den Festplatten des Clusters oder Enterprise-Speichersysteme: Die Wahl ist eine StorageClass, keine Neuentwicklung.

Software-defined

Rook-Ceph

Ceph-RBD-Block-Volumes, von Rook auf den Festplatten des Clusters verwaltet; derselbe Ceph-Cluster stellt über RGW auch S3 und Swift bereit.

Standard

Longhorn

Das Standard-Backend von okadm in der Produktion und die Referenz der Tests: replizierte Volumes auf den Festplatten der Knoten, Snapshots, Sicherungen, RWX.

Enterprise-Speichersystem

NetApp

NetApp-Speichersysteme über den Trident-CSI-Treiber von NetApp; Snapshots und Klone erstellt das Speichersystem.

Enterprise-Speichersystem

Huawei Dorado

All-Flash-Systeme OceanStor Dorado über das CSI-Plugin von Huawei; Snapshots und Klone erstellt das Speichersystem.

OpenKeel-Treiber

Pure Storage

Unser eigener Go-CSI-Treiber für FlashArray über iSCSI: Multipath, Snapshots und Gruppen-Snapshots, Klone, Online-Erweiterung, Block-RWX für die KubeVirt-Live-Migration.

Unser Treiber

Vom Cinder-Volume zum Speichersystem

  1. 01

    Cinder API

    Dieselbe Volume-API und dieselben Volume-Typen wie OpenStack; jeder Typ verweist auf ein Backend

  2. 02

    StorageClass

    Ein csi-block-Backend pro StorageClass: Longhorn, Ceph RBD, NetApp, Dorado oder Pure

  3. 03

    PVC im Block-Modus

    Volume = PVC im Namespace des Projekts, Snapshot = VolumeSnapshot, Klon = PVC-dataSource

  4. 04

    KubeVirt

    Das PVC wird im laufenden Betrieb in die VM eingehängt; die Nova-Attachments bleiben wie in OpenStack erhalten

Was OpenKeel von einem CSI-Treiber erwartet

CSI-FähigkeitVon OpenKeel genutzt für
Block-Volumes (volumeMode: Block)Cinder-Volumes, VM-Festplatten, Glance-Images
VolumeSnapshotCinder-Snapshots, Sicherungen, Rücksetzen auf einen Snapshot
Klon (PVC-dataSource)Volume aus einem Image, einem Snapshot oder einem anderen Volume
Volume-ErweiterungCinder-Erweiterung, online, sofern der Treiber dies erlaubt
ReadWriteMany im Block-ModusMulti-Attach-Volumes und KubeVirt-Live-Migration
VolumeGroupSnapshotKonsistente Snapshots mehrerer Volumes (Cinder-Gruppen sind noch nicht implementiert)

QoS-Specs werden zu StorageClass-Parametern, sofern der Treiber sie unterstützt; andernfalls sind sie eine bekannte Lücke. Quelle: generate-go-from-spec/references/backends/cinder-csi-block.md, openkeel-cinder/config/config.example.yaml.

Mehrere Speichersysteme, ein Cinder

Jedes Backend benennt eine StorageClass und ihre Snapshot-Klasse; über Volume-Typen wählen die Mandanten. Der Volume-Host lautet 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}

Validierungsstand

TreiberStand in OpenKeel
LonghornStandard-Backend; die Tests von Cinder, Glance und Nova laufen darauf
Pure Storage (OpenKeel-Treiber)Prototyp: csi-sanity läuft im Speicher erfolgreich (79 Specs); noch nicht auf einer echten FlashArray ausgeführt
Rook-Ceph (RBD)Über das csi-block-Backend unterstützt; im OpenKeel-Lab noch nicht getestet
NetApp (Trident)Über das csi-block-Backend unterstützt; im OpenKeel-Lab noch nicht getestet
Huawei DoradoÜber das csi-block-Backend unterstützt; im OpenKeel-Lab noch nicht getestet