Lagerung a Kubernetes: OpenEBS vs Rook (Ceph) vs Rancher Longhorn vs StorageOS vs Robin vs Portworx vs Linstor

Lagerung a Kubernetes: OpenEBS vs Rook (Ceph) vs Rancher Longhorn vs StorageOS vs Robin vs Portworx vs Linstor

Update!. An de Kommentaren huet ee vun de Lieser proposéiert ze probéieren Linstor (vläicht schafft hien selwer drun) also hunn ech eng Rubrik iwwer dës Léisung bäigefüügt. Ech hunn och geschriwwen Post op wéi et ze installéieren, well de Prozess ganz anescht wéi de Rescht ass.

Fir éierlech ze sinn, hunn ech opginn an opginn Kubernetes (op d'mannst fir de Moment). Ech wäert benotzen Heroku. Firwat? Wéinst Stockage! Wien hätt geduecht datt ech méi mat der Späichere géife schmaachen wéi mat Kubernetes selwer. ech benotzen Hetzner Cloudwell et bëlleg ass an d'Performance ass gutt a vun Ufank un hunn ech Cluster benotzt Rancher. Ech hu keng verwaltete Kubernetes Servicer vu Google/Amazon/Microsoft/DigitalOcean, etc., etc. probéiert, well ech wollt alles selwer léieren. Ech sinn och spuersam.

Also jo, ech hunn vill Zäit verbruecht fir ze entscheeden wéi eng Späichere fir ze wielen wann ech e méigleche Kubernetes Stack evaluéiert hunn. Ech léiwer Open Source Léisungen, net nëmme wéinst dem Präis, mee ech hunn e puer bezuelte Optiounen aus Virwëtz gekuckt well se gratis Versioune mat Aschränkungen hunn. Ech hunn e puer Zuelen aus de rezenten Tester opgeschriwwen wann ech verschidden Optiounen verglach hunn, a si kënne interessant sinn fir déi, déi iwwer Kubernetes Späichere léieren. Obwuel ech perséinlech fir de Moment Kubernetes Äddi gesot hunn. Ech wëll och ernimmen CSI Chauffer, déi kann Hetzner Cloud Bänn direkt versuergen, awer ech hunn et nach net probéiert. Ech hunn an d'Cloud Software-definéiert Späichere gekuckt well ech Replikatioun an d'Fäegkeet brauche fir séier persistent Bänn op all Node ze montéieren, besonnesch am Fall vun Nodefehler an aner ähnlech Situatiounen. E puer Léisunge bidden Point-in-Time Schnappschëss an Off-Site Backups, wat praktesch ass.

Ech hunn 6-7 Späicherléisungen getest:

OpenEBS

Wéi ech scho gesot hunn an engem virdrun PostNodeems ech déi meescht vun den Optiounen aus der Lëscht getest hunn, hunn ech am Ufank op OpenEBS néiergelooss. OpenEBS ass ganz einfach ze installéieren an ze benotzen, awer fir éierlech ze sinn, no Tester mat realen Daten ënner Belaaschtung, war ech enttäuscht mat senger Leeschtung. Dëst ass Open Source, an d'Entwéckler sinn eleng Slack Kanal ëmmer ganz hëllefräich wann ech Hëllef gebraucht hunn. Leider huet et eng ganz schlecht Leeschtung am Verglach mat anere Optiounen, sou datt d'Tester mussen nei lafen. OpenEBS huet de Moment 3 Späichermotoren, awer ech posten Benchmark Resultater fir cStor. Ech hunn nach keng Zuelen fir Jiva a LocalPV.

An enger Nossschuel, Jiva ass e bësse méi séier, a LocalPV ass allgemeng séier, net méi schlëmm wéi den Disk Benchmark direkt. De Problem mat LocalPV ass datt de Volume nëmmen op dem Node zougänglech ass wou et virbereet gouf, an et gëtt guer keng Replikatioun. Ech hat e puer Problemer engem Backupsatellit via restauréiert Sailboat op engem neie Stärekoup well d'Node Nimm anescht waren. Wa mir iwwer Backups schwätzen, huet cStor Plugin fir Velero, mat deem Dir Off-Site Backups vu Snapshots zu engem Zäitpunkt maache kënnt, wat méi praktesch ass wéi Dateie-Niveau-Backups mat Velero-Restic. ech hu geschriwwen verschidde Scripten, fir et méi einfach ze maachen, Backups ze verwalten a restauréiert mat dësem Plugin. Am Allgemengen hunn ech OpenEBS wierklech gär, awer seng Leeschtung ...

Rook

Rook ass och Open Source an ënnerscheet sech vun de Rescht vun den Optiounen op der Lëscht an datt et e Späicherorchester ass, dee komplexe Späichermanagement Aufgaben mat verschiddene Backends ausféiert, z. ceph, EdgeFS an anerer, déi d'Aarbecht immens vereinfacht. Ech hat Problemer mat EfgeFS wéi ech et virun e puer Méint probéiert hunn, also hunn ech haaptsächlech mat Ceph getest. Ceph bitt net nëmmen Blocklagerung, awer och Objektlagerung kompatibel mat S3 / Swift a verdeelt Dateiesystem. Wat ech iwwer Ceph gär hunn ass d'Fäegkeet Volumendaten iwwer verschidde Disken ze verbreeden, sou datt de Volume méi Disk Space benotze kann wéi op enger eenzeger Disk passt. Et ass bequem. Eng aner cool Feature ass datt wann Dir Disken an e Stärekoup bäidréit, da verdeelt se automatesch Daten iwwer all Disken.

Ceph huet Schnappschëss, awer souwäit ech weess, kënnen se net direkt am Rook / Kubernetes benotzt ginn. Richteg, ech sinn net déif an dëst gaangen. Awer et gi keng Off-Site-Backups, also musst Dir eppes mat Velero / Restic benotzen, awer et ginn nëmmen Dateie-Niveau-Backups, net Punkt-an-Zäit Schnappschëss. Wat ech wierklech iwwer Rook gefall hunn, war wéi einfach et ass mat Ceph ze schaffen - et verstoppt bal all komplizéiert Saachen a bitt Tools fir direkt mam Ceph ze schwätzen fir Probleemer ze léisen. Leider, während dem Stress Test vun Ceph Bänn, Ech hunn ëmmer Problemer mat dësem Problem, wouduerch de Ceph onbestänneg gëtt. Et ass nach net kloer ob dëst e Feeler am Ceph selwer ass oder e Problem am Wee wéi de Rook de Ceph geréiert. Ech hu mat der Erënnerung Astellunge geduscht, an et gouf besser, mä de Problem war net komplett geléist. Ceph huet anstänneg Leeschtung, wéi Dir an de Benchmarks hei ënnen kënnt gesinn. Et huet och e gutt Dashboard.

Rancher Longhorn

Ech hunn de Longhorn wierklech gär. Menger Meenung no ass dat eng villverspriechend Léisung. Richteg, d'Entwéckler selwer (Rancher Labs) zouginn datt et nach net fir d'Aarbechtsëmfeld gëeegent ass, an dat weist. Et ass Open Source an huet anstänneg Leeschtung (och wann se et nach net optimiséiert hunn), awer d'Bänn daueren eng ganz laang Zäit fir mam Pod ze verbannen, an am schlëmmste Fäll dauert et 15-16 Minutten, besonnesch nodeems Dir e grousse Backup restauréiert oder d'Aarbechtslaascht Upgrade. Et huet Snapshots an Off-Site Backups vun dëse Schnappschëss, awer si gëllen nëmme fir Bänn, sou datt Dir nach ëmmer eppes wéi Velero braucht fir aner Ressourcen ze backen. Backups a Restauratiounen si ganz zouverlässeg, awer onschëlleg lues. Eescht, just onheemlech lues. CPU Notzung a Systembelaaschtung spikes dacks wann Dir mat enger mëttlerer Quantitéit un Daten am Longhorn schafft. Et gëtt e praktescht Dashboard fir Longhorn ze managen. Ech hu scho gesot datt ech de Longhorn gär hunn, awer et brauch eng Aarbecht.

StorageOS

StorageOS ass dat éischt bezuelte Produkt op der Lëscht. Et huet eng Entwécklerversioun mat enger limitéierter verwalteter Späichergréisst vu 500GB, awer ech denken net datt et eng Limit op d'Zuel vun de Wirbelen ass. De Verkafsdepartement huet mir gesot datt d'Käschte bei $ 125 pro Mount fir 1 TB ufänken, wann ech mech richteg erënneren. Et gëtt e Basis-Dashboard an e prakteschen CLI, awer eppes komesch ass mat der Leeschtung lass: an e puer Benchmarks ass et ganz uerdentlech, awer am Volumen Stresstest hunn ech d'Geschwindegkeet guer net gär. Am Allgemengen, Ech weess net wat ze soen. Also ech hu wierklech net vill verstanen. Et gi keng Off-Site Backups hei an Dir musst och Velero mat Restic fir Backupvolumen benotzen. Et ass komesch, well de Produit bezuelt ass. An d'Entwéckler waren net gär op Slack ze kommunizéieren.

Robin

Ech hunn iwwer Robin op Reddit vun hirem techneschen Direkter geléiert. Ech hat nach ni vun him héieren. Vläicht well ech gratis Léisunge gesicht hunn, awer de Robin gëtt bezuelt. Si hunn eng zimlech generéis gratis Versioun mat 10TB Späicheren an dräi Wirbelen. Insgesamt ass d'Produkt ganz anstänneg an huet flott Features. Et gëtt e super CLI, awer déi coolst Saach ass datt Dir déi ganz Applikatioun Snapshot a Backup kënnt (am Ressource Selector gëtt dëst Helm Releases oder "Flex Apps") genannt), inklusiv Bänn an aner Ressourcen, sou datt Dir ouni Velero maache kënnt. An alles wier wonnerbar wann net fir ee klengen Detail: wann Dir restauréiert (oder "import", wéi et am Robin genannt gëtt) eng Applikatioun op engem neie Cluster - zum Beispill, am Fall vun Erhuelung vun enger Katastroph - d'Restauratioun, natierlech, Wierker, mee weider der Applikatioun ze Backupsatellit et verbueden ass. Dëst ass einfach net méiglech an dëser Verëffentlechung, wéi d'Entwéckler bestätegt hunn. Dëst ass, fir et mild ze soen, komesch, besonnesch wann Dir déi aner Virdeeler berécksiichtegt (zum Beispill, onheemlech séier Backups a Restauratiounen). D'Entwéckler verspriechen alles duerch déi nächst Verëffentlechung ze fixéieren. D'Performance ass allgemeng gutt, awer ech hunn eng Komeschheet gemierkt: wann ech de Benchmark direkt op engem Volume lafen, dee mam Host verbonnen ass, ass d'Liesgeschwindegkeet vill méi séier wéi dee selwechte Volumen aus dem Pod ze lafen. All aner Resultater sinn identesch, awer an der Theorie sollt et keen Ënnerscheed sinn. Obwuel si schaffen op et, Ech war opgeregt iwwer de Problem mat Restauréieren an Backupsatellit - Ech geduecht ech hat endlech eng gëeegent Léisung fonnt, an ech war souguer bereet fir et ze bezuelen wann ech méi Plaz oder méi Serveren brauch.

portworx

Ech hunn hei net vill ze soen. Dëst ass e bezuelte Produkt, gläich cool an deier. D'Leeschtung ass einfach erstaunlech. Dëst ass dee beschten Indikator bis elo. De Slack huet mir gesot datt d'Präisser bei $ 205 pro Mount pro Node ufänken, wéi op Google's GKE Marketplace opgezielt. Ech weess net ob et méi bëlleg gëtt wann Dir direkt kaaft. Ech kann dat souwisou net leeschten, also war ech ganz, ganz enttäuscht datt d'Entwécklerlizenz (bis zu 1 TB an 3 Noden) praktesch nëtzlos ass mat Kubernetes, ausser Dir sidd zefridden mat statesche Bestëmmung. Ech hat gehofft datt d'Volumenlizenz automatesch op Entwéckler um Enn vun der Testperiod erofgeet, awer dat ass net geschitt. D'Entwéckler Lizenz kann nëmmen direkt mat Docker benotzt ginn, an d'Konfiguratioun an Kubernetes ass ganz ëmständlech a limitéiert. Natierlech hunn ech léiwer Open Source, awer wann ech d'Suen hätt, géif ech definitiv Portworx wielen. Bis elo vergläicht seng Leeschtung einfach net mat aneren Optiounen.

Linstor

Ech hunn dës Sektioun bäigefüügt no der Verëffentlechung vum Post, wann ee Lieser proposéiert huet Linstor ze probéieren. Ech hunn et probéiert an ech hunn et gär! Mir mussen awer nach méi déif gräifen. Elo kann ech soen datt d'Performance net schlecht ass (ech hunn d'Benchmark Resultater hei ënnen bäigefüügt). Am Wesentlechen hunn ech déi selwecht Leeschtung wéi d'Disk direkt, ouni Overhead. (Fro net firwat Portworx besser Zuelen huet wéi den fueren Benchmark direkt. Ech hu keng Ahnung. Magic, ech mengen.) Also Linstor schéngt ganz effikass sou wäit. Et ass net sou schwéier ze installéieren, awer et ass net sou einfach wéi aner Optiounen. Als éischt hunn ech Linstor (Kernelmodul an Tools / Servicer) installéiert an LVM fir dënn Versuergung a Snapshot-Ënnerstëtzung ausserhalb vu Kubernetes konfiguréieren, direkt um Host, an dann d'Ressourcen erstellen fir d'Späichere vu Kubernetes ze benotzen. Ech hunn net gär datt et net op CentOS funktionnéiert an ech hu missen Ubuntu benotzen. Net schrecklech, natierlech, awer e bësse lästeg, well d'Dokumentatioun (déi iwwregens exzellent ass) ernimmt verschidde Packagen déi net an de spezifizéierte Epel Repositories fonnt kënne ginn. Linstor huet Schnappschëss, awer net Off-Site Backups, also hei nach eng Kéier hunn ech Velero mat Restic fir Backupvolumen ze benotzen. Ech hätt léiwer Snapshots amplaz vu Backups op Dateiniveau, awer dëst kann toleréiert ginn wann d'Léisung performant an zouverlässeg ass. Linstor ass Open Source awer huet bezuelte Support. Wann ech richteg verstinn, kann et ouni Restriktiounen benotzt ginn, och wann Dir kee Supportkontrakt hutt, awer dëst muss gekläert ginn. Ech weess net wéi getest Linstor fir Kubernetes ass, awer d'Späicherschicht selwer ass ausserhalb vu Kubernetes an, anscheinend, ass d'Léisung net gëschter opgetaucht, also ass et méiglecherweis schonn an echte Konditiounen getest. Gëtt et hei eng Léisung, déi mech ännere wäert an zréck op Kubernetes? Ech weess et net. Mir mussen nach ëmmer méi déif graven a Replikatioun studéieren. Mol kucken. Awer den éischten Androck ass gutt. Ech géif definitiv léiwer meng eegen Kubernetes Cluster benotzen amplaz Heroku fir méi Fräiheet ze hunn an nei Saachen ze léieren. Well Linstor net esou einfach ass ze installéieren wéi anerer, schreiwen ech geschwënn e Post doriwwer.

Benchmarks

Leider hunn ech net vill Notizen iwwer de Verglach gehalen, well ech net geduecht hunn doriwwer ze schreiwen. Ech hunn nëmmen Resultater vun der Basis fio Benchmarks an nëmmen fir eenzel Node Stärekéip, also ech hunn nach keng Zuelen fir replizéiert Konfiguratiounen. Awer aus dëse Resultater kënnt Dir eng graff Iddi kréien wat Dir vun all Optioun erwaart, well ech se op de selwechte Cloud Server verglach hunn, 4 Cores, 16 GB RAM, mat engem zousätzleche 100 GB Disk fir déi getest Bänn. Ech hunn d'Benchmarks dräimol fir all Léisung gemaach an d'Duerchschnëttsresultat berechent, plus ech hunn d'Serverinstellunge fir all Produkt zréckgesat. Dëst ass alles komplett onwëssenschaftlech, just fir Iech eng allgemeng Iddi ze ginn. An aneren Tester hunn ech 38 GB Fotoen a Videoe vum Volume kopéiert fir Liesen a Schreiwen ze testen, awer leider hunn ech d'Zuelen net gespäichert. Kuerz gesot: Portworkx war vill méi séier.

Fir de Volume Benchmark hunn ech dëse Manifest benotzt:

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: dbench
spec:
  storageClassName: ...
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 5Gi
---
apiVersion: batch/v1
kind: Job
metadata:
  name: dbench
spec:
  template:
    spec:
      containers:
      - name: dbench
        image: sotoaster/dbench:latest
        imagePullPolicy: IfNotPresent
        env:
          - name: DBENCH_MOUNTPOINT
            value: /data
          - name: FIO_SIZE
            value: 1G
        volumeMounts:
        - name: dbench-pv
          mountPath: /data
      restartPolicy: Never
      volumes:
      - name: dbench-pv
        persistentVolumeClaim:
          claimName: dbench
  backoffLimit: 4

Ech hunn fir d'éischt e Volumen mat der entspriechender Späicherklass erstallt an dunn d'Aarbecht mat fio hannert de Kulissen gelaf. Ech hunn 1 GB geholl fir d'Performance ze schätzen an net ze laang ze waarden. Hei d'Resultater:

Lagerung a Kubernetes: OpenEBS vs Rook (Ceph) vs Rancher Longhorn vs StorageOS vs Robin vs Portworx vs Linstor

Ech hunn de beschte Wäert fir all Metrik a gréng beliicht an dee schlëmmste a rout.

Konklusioun

Wéi Dir gesitt, huet Portworx an de meeschte Fäll besser gemaach wéi anerer. Awer fir mech ass et deier. Ech weess net wéi vill Robin kascht, awer si hunn eng super gratis Versioun, also wann Dir e bezuelte Produkt wëllt, kënnt Dir et probéieren (hoffentlech fixéieren se de Problem mat der Restauratioun a Backups geschwënn). Vun den dräi gratis haten ech am mannsten Probleemer mat OpenEBS, awer seng Leeschtung ass onheemlech. Et ass schued datt ech net méi Resultater gespäichert hunn, awer ech hoffen datt d'Zuelen a meng Kommentarer Iech hëllefen.

Source: will.com

Setzt e Commentaire