Depo nan Kubernetes: OpenEBS vs Rook (Ceph) vs Rancher Longhorn vs StorageOS vs Robin vs Portworx vs Linstor

Depo nan Kubernetes: OpenEBS vs Rook (Ceph) vs Rancher Longhorn vs StorageOS vs Robin vs Portworx vs Linstor

Mizajou!. Nan kòmantè yo, youn nan lektè yo sijere eseye Linstor (petèt li ap travay sou li tèt li) Se konsa, mwen te ajoute yon seksyon sou solisyon sa a. Mwen te ekri tou poste sou kijan pou yo enstale li, paske pwosesis la trè diferan de rès la.

Pou m onèt, mwen te abandone e mwen te abandone Kubernetes (omwen pou kounye a). mwen pral itilize Heroku. Poukisa? Paske nan depo! Ki moun ki ta panse ke mwen ta brikol plis ak depo pase ak Kubernetes tèt li. Mwen itilize Hetzner Cloudpaske li pa chè ak pèfòmans lan bon e depi nan konmansman an mwen te deplwaye grap itilize Rancher. Mwen pa t eseye jere sèvis Kubernetes nan Google/Amazon/Microsoft/DigitalOcean, elatriye, elatriye, paske mwen te vle aprann tout bagay tèt mwen. Mwen tou frugal.

Se konsa, wi, mwen te pase anpil tan ap eseye deside ki depo yo chwazi lè mwen te evalye yon posib pil Kubernetes. Mwen pito solisyon sous louvri, pa sèlman paske nan pri a, men mwen te gade nan yon koup nan opsyon peye soti nan kiryozite paske yo gen vèsyon gratis ak limit. Mwen te note kèk nimewo nan tès ki sot pase yo lè mwen te konpare opsyon diferan, epi yo ta ka enterese moun ki aprann sou depo Kubernetes. Malgre ke mwen pèsonèlman te di orevwa nan Kubernetes pou kounye a. Mwen vle tou mansyone chofè CSI, ki ka dirèkteman pwovizyon volim Hetzner Cloud, men mwen pa te eseye li ankò. Mwen te gade nan nwaj depo lojisyèl defini paske mwen te bezwen replikasyon ak kapasite pou byen vit monte volim ki pèsistan sou nenpòt ne, espesyalman nan ka echèk ne ak lòt sitiyasyon menm jan an. Gen kèk solisyon ki ofri snapshots pwen nan tan ak sovgad deyò sit, ki se pratik.

Mwen teste 6-7 solisyon depo:

OpenEBS

Kòm mwen te deja di nan yon pòs anvanÈske w te teste pi fò nan opsyon ki nan lis la, okòmansman mwen te etabli sou OpenEBS. OpenEBS se trè fasil enstale ak itilize, men yo dwe onèt, apre tès ak done reyèl anba chaj, mwen te wont ak pèfòmans li yo. Sa a se sous louvri, ak devlopè yo sou pwòp yo Chanèl Slack toujou trè itil lè mwen te bezwen èd. Malerezman, li gen pèfòmans trè pòv konpare ak lòt opsyon, kidonk tès yo te dwe re-kouri. OpenEBS kounye a gen 3 motè depo, men mwen ap afiche rezilta referans pou cStor. Mwen poko gen nimewo pou Jiva ak LocalPV.

Nan yon Nutshell, Jiva se yon ti kras pi vit, ak LocalPV se jeneralman vit, pa pi mal pase referans ki gen kapasite dirèkteman. Pwoblèm nan ak LocalPV se ke volim nan ka jwenn aksè sèlman sou ne kote li te prepare, epi pa gen okenn replikasyon ditou. Mwen te gen kèk pwoblèm restore yon backup via Vwal sou yon nouvo gwoup paske non yo te diferan. Si nou pale de sovgad, cStor genyen plugin pou Velero, ak ki ou ka fè sovgad sou sit la nan snapshots nan yon pwen nan tan, ki se pi pratik pase sovgad nan nivo dosye ak Velero-Restic. mwen ekri plizyè scripts, pou fè li pi fasil pou jere sovgad ak restore ak plugin sa a. An jeneral, mwen vrèman renmen OpenEBS, men pèfòmans li...

Rook

Rook tou se sous louvri epi li diferan de rès opsyon ki sou lis la paske li se yon orchestrator depo ki fè travay konplèks jesyon depo ak backend diferan, pa egzanp. Ceph, EdgeFS ak lòt moun, ki anpil senplifye travay la. Mwen te gen pwoblèm ak EfgeFS lè mwen te eseye li kèk mwa de sa, kidonk mwen te teste sitou ak Ceph. Ceph pa sèlman ofri depo blòk, men tou depo objè konpatib ak S3/Swift ak sistèm dosye distribye. Ki sa mwen renmen nan Ceph se kapasite nan gaye done volim sou plizyè disk pou volim nan ka itilize plis espas disk pase ka anfòm sou yon sèl disk. Li konfòtab. Yon lòt karakteristik fre se ke lè ou ajoute disk nan yon gwoup, li otomatikman redistribiye done atravè tout disk.

Ceph gen snapshots, men jan mwen konnen, yo pa ka itilize dirèkteman nan Rook/Kubernetes. Se vre, mwen pa t antre nan fon sa a. Men, pa gen okenn sovgad andeyò sit, kidonk ou pral oblije sèvi ak yon bagay ak Velero / Restic, men gen sèlman sovgad nan nivo fichye, pa snapshots pwen-an-tan. Ki sa mwen vrèman te renmen nan Rook se jan li fasil pou travay ak Ceph - li kache prèske tout bagay konplike yo epi li ofri zouti pou pale ak Ceph dirèkteman pou depanaj. Malerezman, pandan tès estrès volim Ceph, mwen te kontinye gen pwoblèm ak pwoblèm sa a, ki lakòz Ceph vin enstab. Li poko klè si wi ou non sa a se yon ensèk nan Ceph li menm oswa yon pwoblèm nan fason Rook jere Ceph. Mwen brikoze ak anviwònman memwa yo, epi li te vin pi bon, men pwoblèm nan pa te konplètman rezoud. Ceph gen pèfòmans desan, jan ou ka wè nan referans ki anba yo. Li gen tou yon bon tablodbò.

Rancher Longhorn

Mwen vrèman renmen Longhorn. Dapre mwen, sa a se yon solisyon pwomèt. Vrè, devlopè yo tèt yo (Rancher Labs) admèt ke li poko apwopriye pou anviwònman an k ap travay, e sa montre. Li nan sous louvri epi li gen pèfòmans desan (byenke yo poko optimize li), men komèsan yo pran yon tan trè long pou konekte ak gous la, ak nan pi move ka li pran 15-16 minit, espesyalman apre restore yon gwo backup oswa amelyore kantite travay la. Li gen snapshots ak sovgad deyò sit sa yo, men yo sèlman aplike nan komèsan, kidonk w ap toujou bezwen yon bagay tankou Velero backup lòt resous. Sovgad ak restore yo trè serye, men endesan ralanti. Seryezman, jis ekstrèmman dousman. Itilizasyon CPU ak chaj sistèm souvan ogmante lè w ap travay ak yon kantite mwayen done nan Longhorn. Gen yon tablodbò pratik pou jere Longhorn. Mwen te deja di ke mwen renmen Longhorn, men li bezwen kèk travay.

StorageOS

StorageOS se premye pwodwi ki peye sou lis la. Li gen yon vèsyon pwomotè ak yon gwosè depo jere limite nan 500GB, men mwen pa panse ke gen yon limit sou kantite nœuds. Depatman lavant te di m ke pri a kòmanse nan $125 pa mwa pou 1 TB, si mwen sonje byen. Gen yon tablodbò debaz ak yon CLI pratik, men yon bagay etranj ap pase ak pèfòmans nan: nan kèk referans li se byen desan, men nan tès la estrès volim mwen pa t 'renmen vitès la ditou. An jeneral, mwen pa konnen kisa pou m di. Se konsa, mwen pa t 'reyèlman konprann anpil. Pa gen okenn sovgad deyò sit la epi w ap gen tou sèvi ak Velero ak Restic nan komèsan backup. Li etranj, paske se pwodwi a peye. Ak devlopè yo pa t anvi kominike sou Slack.

Robin

Mwen te aprann sou Robin sou Reddit nan men direktè teknik yo. Mwen pa t janm tande pale de li anvan. Petèt paske mwen t ap chèche solisyon gratis, men Robin peye. Yo gen yon vèsyon gratis trè jenere ak 10TB depo ak twa nœuds. An jeneral, pwodwi a se byen desan e li gen karakteristik bèl. Gen yon gwo CLI, men bagay ki pi koul se ke ou ka snapshot ak backup tout aplikasyon an (nan seleksyon an resous yo rele sa Helm degaje oswa "aplikasyon fleksib"), ki gen ladan komèsan ak lòt resous, kidonk, ou ka fè san Velero. Ak tout bagay ta bèl si se pa pou yon ti detay: si ou retabli (oswa "enpòte", jan yo rele sa nan Robin) yon aplikasyon sou yon nouvo gwoup - pou egzanp, nan evènman an nan rekiperasyon nan yon dezas - restorasyon an, nan kou, travay, men kontinye fè bak aplikasyon an li se entèdi. Sa a se tou senpleman pa posib nan lage sa a, jan devlopè yo te konfime. Sa a se, yo mete li léjèrman, etranj, espesyalman konsidere lòt avantaj yo (pa egzanp, sovgad ekstrèmman rapid ak restore). Devlopè yo pwomèt pou ranje tout bagay pa pwochen lage a. Pèfòmans se jeneralman bon, men mwen remake yon etranj: si mwen kouri referans lan dirèkteman sou yon volim tache ak lame a, vitès la lekti se pi vit pase kouri nan menm volim nan gous la. Tout lòt rezilta yo idantik, men nan teyori pa ta dwe gen okenn diferans. Malgre ke yo ap travay sou li, mwen te fache sou pwoblèm nan ak restore ak backup - mwen te panse mwen te finalman jwenn yon solisyon apwopriye, e mwen te menm vle peye pou li lè mwen te bezwen plis espas oswa plis serveurs.

Portworx

Mwen pa gen anpil bagay pou m di isit la. Sa a se yon pwodwi peye, egalman fre ak chè. Pèfòmans la se tou senpleman etonan. Sa a se pi bon endikatè jiska prezan. Slack te di m ke pri a kòmanse nan $ 205 pa mwa pou chak ne, jan lis nan GKE Marketplace Google la. Mwen pa konnen si li pral pi bon mache si ou achte dirèkteman. Mwen pa kapab peye sa de tout fason, kidonk mwen te trè, trè wont ke lisans pwomotè a (jiska 1 TB ak 3 nœuds) se pratikman initil ak Kubernetes sof si w ap kontante ak pwovizyon estatik. Mwen te espere ke lisans volim ta otomatikman desann nan pwomotè nan fen peryòd esè a, men sa pa t rive. Lisans pwomotè a ka sèlman itilize dirèkteman ak Docker, ak konfigirasyon nan Kubernetes trè ankonbran ak limite. Natirèlman, mwen prefere sous louvri, men si mwen te gen lajan an, mwen ta definitivman chwazi Portworx. Jiskaprezan, pèfòmans li tou senpleman pa konpare ak lòt opsyon.

Linstor

Mwen te ajoute seksyon sa a apre piblikasyon pòs la, lè yon lektè te sijere eseye Linstor. Mwen te eseye li e mwen te renmen li! Men, nou toujou bezwen fouye pi fon. Koulye a, mwen ka di ke pèfòmans lan se pa move (mwen te ajoute rezilta yo referans anba a). Esansyèlman, mwen te resevwa menm pèfòmans ak disk la dirèkteman, san okenn anlè. (Pa mande poukisa Portworx gen pi bon nimewo pase referans kondwi a dirèkteman. Mwen pa gen okenn lide. Majik, mwen devine.) Se konsa, Linstor sanble trè efikas jiskaprezan. Li pa difisil pou enstale, men li pa fasil tankou lòt opsyon. Premye mwen te oblije enstale Linstor (modil nwayo ak zouti/sèvis) ak konfigirasyon LVM pou pwovizyon mens ak sipò snapshot deyò Kubernetes, dirèkteman sou lame a, ak Lè sa a, kreye resous ki nesesè yo sèvi ak depo nan Kubernetes. Mwen pa t 'renmen ke li pa t' travay sou CentOS epi mwen te oblije itilize Ubuntu. Pa terib, nan kou, men yon ti kras anmèdan, paske dokiman an (ki se ekselan, nan chemen an) mansyone plizyè pakè ki pa ka jwenn nan depo yo espesifye Epel. Linstor gen snapshots, men se pa sovgad andeyò sit, kidonk isit la ankò mwen te oblije sèvi ak Velero ak Restic nan komèsan backup. Mwen ta prefere snapshots olye pou yo sovgad nan nivo dosye, men sa a ka tolere si solisyon an se pèfòmans ak serye. Linstor se sous louvri men li te peye sipò. Si mwen byen konprann, li ka itilize san restriksyon, menm si ou pa gen yon kontra sipò, men sa a bezwen klarifye. Mwen pa konnen ki jan yo teste Linstor pou Kubernetes, men kouch depo tèt li deyò Kubernetes epi, aparamman, solisyon an pa t parèt yè, kidonk li te pwobableman deja teste nan kondisyon reyèl. Èske gen yon solisyon isit la ki pral fè m 'chanje lide epi tounen nan Kubernetes? Mwen pa konnen. Nou toujou bezwen fouye pi fon epi etidye replikasyon. Ann wè. Men, premye enpresyon an bon. Mwen ta definitivman prefere sèvi ak pwòp gwoup Kubernetes mwen olye pou yo Heroku pou gen plis libète ak aprann nouvo bagay. Depi Linstor pa fasil pou enstale tankou lòt moun, mwen pral ekri yon pòs sou li byento.

Referans

Malerezman, mwen pa t kenbe anpil nòt sou konparezon an paske mwen pa t panse mwen ta ekri sou li. Mwen sèlman gen rezilta nan referans fio debaz yo epi sèlman pou grap ne sèl, kidonk mwen pa gen nimewo pou konfigirasyon repwodui ankò. Men, nan rezilta sa yo ou ka jwenn yon lide ki graj sou sa ou dwe atann nan chak opsyon, paske mwen konpare yo sou menm sèvè nwaj yo, 4 nwayo, 16 GB RAM, ak yon disk 100 GB adisyonèl pou volim yo teste. Mwen te kouri referans yo twa fwa pou chak solisyon ak kalkile rezilta an mwayèn, plis mwen reset anviwònman yo sèvè pou chak pwodwi. Sa a se tout konplètman san syantifik, jis ba ou yon lide jeneral. Nan lòt tès yo, mwen kopye 38 GB foto ak videyo ki soti nan volim nan epi li teste lekti ak ekri, men, Ay, mwen pa sove nimewo yo. Nan ti bout tan: Portworkx te pi vit.

Pou referans volim mwen te itilize manifest sa a:

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

Mwen premye kreye yon volim ak klas depo ki apwopriye a epi answit kouri travay la ak fio dèyè sèn nan. Mwen te pran 1 GB pou estime pèfòmans lan epi mwen pa tann twò lontan. Men rezilta yo:

Depo nan Kubernetes: OpenEBS vs Rook (Ceph) vs Rancher Longhorn vs StorageOS vs Robin vs Portworx vs Linstor

Mwen te make pi bon valè pou chak metrik nan vèt ak pi move a nan wouj.

Konklizyon

Kòm ou ka wè, nan pifò ka Portworx fè pi bon pase lòt moun. Men, pou mwen li chè. Mwen pa konnen konbyen Robin koute, men yo gen yon gwo vèsyon gratis, kidonk si ou vle yon pwodwi peye, ou ka eseye li (espere ke yo ranje pwoblèm nan ak restore ak sovgad byento). Nan twa sa yo gratis, mwen te gen pi piti pwoblèm ak OpenEBS, men pèfòmans li yo se gwo. Se yon pitye mwen pa te sove plis rezilta, men mwen espere nimewo yo ak kòmantè mwen yo ap ede ou.

Sous: www.habr.com

Add nouvo kòmantè