Hifadhi katika Kubernetes: OpenEBS vs Rook (Ceph) vs Rancher Longhorn vs StorageOS vs Robin vs Portworx vs Linstor

Hifadhi katika Kubernetes: OpenEBS vs Rook (Ceph) vs Rancher Longhorn vs StorageOS vs Robin vs Portworx vs Linstor

Sasisha!. Katika maoni, mmoja wa wasomaji alipendekeza kujaribu Linstor (labda anaifanyia kazi mwenyewe) kwa hivyo nimeongeza sehemu kuhusu suluhisho hili. Niliandika pia post jinsi ya kusakinisha, kwa sababu mchakato ni tofauti sana na wengine.

Kusema kweli, nilikata tamaa na kukata tamaa Mabernet (angalau kwa sasa). nitatumia Heroku. Kwa nini? Kwa sababu ya uhifadhi! Nani angefikiria kuwa ningecheza zaidi na uhifadhi kuliko Kubernetes yenyewe. natumia Wingu la Hetznerkwa sababu ni ghali na utendaji ni mzuri na tangu mwanzo nimekuwa nikipeleka vikundi kwa kutumia Rancher. Sikujaribu huduma zinazosimamiwa za Kubernetes kutoka Google/Amazon/Microsoft/DigitalOcean, nk., nk., kwa sababu nilitaka kujifunza kila kitu mimi mwenyewe. Mimi pia ni mpungufu.

Kwa hivyo ndio, nilitumia muda mwingi kujaribu kuamua ni hifadhi gani ya kuchagua nilipokuwa nikitathmini mrundikano unaowezekana wa Kubernetes. Ninapendelea suluhisho za chanzo wazi, sio tu kwa sababu ya bei, lakini nimeangalia chaguzi kadhaa zilizolipwa kwa udadisi kwa sababu zina matoleo ya bure na mapungufu. Nimeandika nambari kadhaa kutoka kwa majaribio ya hivi majuzi nilipolinganisha chaguo tofauti, na zinaweza kuwa za kupendeza kwa wale wanaojifunza kuhusu hifadhi ya Kubernetes. Ingawa mimi binafsi nimeagana na Kubernetes kwa sasa. Pia nataka kutaja Dereva wa CSI, ambayo inaweza kutoa moja kwa moja kiasi cha Hetzner Cloud, lakini sijaijaribu bado. Niliangalia uhifadhi ulioainishwa na programu ya wingu kwa sababu nilihitaji urudufishaji na uwezo wa kuweka haraka idadi inayoendelea kwenye nodi yoyote, haswa katika kesi ya kushindwa kwa nodi na hali zingine zinazofanana. Suluhisho zingine hutoa snapshots za moja kwa moja na chelezo za nje ya tovuti, ambayo ni rahisi.

Nilijaribu suluhisho 6-7 za uhifadhi:

OpenEBS

Kama nilivyosema tayari katika chapisho lililopitaBaada ya kujaribu chaguzi nyingi kutoka kwenye orodha, hapo awali nilitulia kwenye OpenEBS. OpenEBS ni rahisi sana kufunga na kutumia, lakini kuwa waaminifu, baada ya kupima na data halisi chini ya mzigo, nilivunjika moyo na utendaji wake. Hii ni chanzo wazi, na watengenezaji wako peke yao Chaneli dhaifu daima husaidia sana wakati nilihitaji msaada. Kwa bahati mbaya, ina utendaji mbaya sana ikilinganishwa na chaguzi zingine, kwa hivyo vipimo vilipaswa kurudiwa. OpenEBS kwa sasa ina injini 3 za kuhifadhi, lakini ninachapisha matokeo ya alama ya cStor. Bado sina nambari za Jiva na LocalPV.

Kwa kifupi, Jiva ni haraka kidogo, na LocalPV kwa ujumla ni haraka, sio mbaya zaidi kuliko alama ya diski moja kwa moja. Shida na LocalPV ni kwamba kiasi kinaweza kupatikana tu kwenye nodi ambapo ilitayarishwa, na hakuna replication hata kidogo. Nilikuwa na shida kadhaa za kurejesha nakala rudufu kupitia Boti ya baharini kwenye nguzo mpya kwa sababu majina ya nodi yalikuwa tofauti. Ikiwa tunazungumza juu ya nakala rudufu, cStor ina programu-jalizi ya Velero, ambayo unaweza kutengeneza nakala za vijipicha nje ya tovuti kwa wakati mmoja, ambayo ni rahisi zaidi kuliko chelezo za kiwango cha faili na Velero-Restic. niliandika maandishi kadhaa, ili kurahisisha kudhibiti hifadhi rudufu na urejeshaji ukitumia programu-jalizi hii. Kwa ujumla, napenda sana OpenEBS, lakini utendaji wake ...

rook

Rook pia ni chanzo huria na hutofautiana na chaguo zingine kwenye orodha kwa kuwa ni orchestrator ya uhifadhi ambayo hufanya kazi ngumu za usimamizi wa uhifadhi na viunga tofauti, k.m. Ceph, EdgeFS na mengine, ambayo hurahisisha kazi kwa kiasi kikubwa. Nilikuwa na shida na EfgeFS nilipojaribu miezi michache iliyopita, kwa hivyo nilijaribu haswa na Ceph. Ceph haitoi tu uhifadhi wa block, lakini pia uhifadhi wa kitu unaoendana na S3/Swift na mfumo wa faili uliosambazwa. Ninachopenda kuhusu Ceph ni uwezo wa kueneza data ya kiasi kwenye diski nyingi ili kiasi kiweze kutumia nafasi zaidi ya diski kuliko inavyoweza kutoshea kwenye diski moja. Ni vizuri. Kipengele kingine cha kupendeza ni kwamba unapoongeza diski kwenye nguzo, inasambaza data kiotomatiki kwenye diski zote.

Ceph ina muhtasari, lakini nijuavyo, haziwezi kutumika moja kwa moja kwenye Rook/Kubernetes. Kweli, sikuingia sana katika hili. Lakini hakuna chelezo za nje ya tovuti, kwa hivyo itabidi utumie kitu na Velero/Restic, lakini kuna chelezo za kiwango cha faili tu, sio vijipicha vya wakati. Nilichopenda sana kuhusu Rook ni jinsi ilivyo rahisi kufanya kazi na Ceph - inaficha karibu vitu vyote ngumu na inatoa zana za kuzungumza na Ceph moja kwa moja kwa utatuzi. Kwa bahati mbaya, wakati wa jaribio la dhiki la viwango vya Ceph, niliendelea kuwa na shida tatizo hili, ambayo husababisha Ceph kutokuwa thabiti. Bado haijabainika ikiwa hii ni hitilafu katika Ceph yenyewe au ni tatizo katika jinsi Rook anavyosimamia Ceph. Nilizingatia mipangilio ya kumbukumbu, na ikawa bora, lakini shida haikutatuliwa kabisa. Ceph ina utendaji mzuri, kama unavyoona kwenye alama zilizo hapa chini. Pia ina dashibodi nzuri.

Rancher Longhorn

Nampenda sana Longhorn. Kwa maoni yangu, hii ni suluhisho la kuahidi. Kweli, watengenezaji wenyewe (Rancher Labs) wanakubali kuwa bado haifai kwa mazingira ya kazi, na hii inaonyesha. Ni chanzo wazi na ina utendakazi mzuri (ingawa bado hawajaiboresha), lakini idadi hiyo inachukua muda mrefu sana kuunganishwa na ganda, na katika hali mbaya zaidi inachukua dakika 15-16, haswa baada ya kurejesha nakala rudufu au kubwa. kuboresha mzigo wa kazi. Ina vijipicha na chelezo za nje ya tovuti za vijipicha hivi, lakini zinatumika kwa wingi pekee, kwa hivyo bado utahitaji kitu kama Velero ili kuhifadhi rasilimali nyingine. Hifadhi rudufu na urejeshaji ni wa kuaminika sana, lakini polepole sana. Kweli, polepole sana. Matumizi ya CPU na upakiaji wa mfumo mara nyingi huongezeka wakati wa kufanya kazi na kiwango cha wastani cha data huko Longhorn. Kuna dashibodi inayofaa ya kudhibiti Longhorn. Tayari nimesema kwamba napenda Longhorn, lakini inahitaji kazi fulani.

StorageOS

StorageOS ndio bidhaa ya kwanza kulipwa kwenye orodha. Ina toleo la msanidi na saizi ndogo ya hifadhi inayodhibitiwa ya 500GB, lakini sidhani kama kuna kikomo kwa idadi ya nodi. Idara ya mauzo iliniambia kuwa gharama huanza kwa $125 kwa mwezi kwa TB 1, ikiwa ninakumbuka kwa usahihi. Kuna dashibodi ya msingi na CLI inayofaa, lakini kitu cha kushangaza kinaendelea na utendaji: katika alama zingine ni nzuri kabisa, lakini katika jaribio la dhiki ya sauti sikupenda kasi hata kidogo. Kwa ujumla, sijui la kusema. Kwa hivyo sikuelewa sana. Hakuna chelezo za nje ya tovuti hapa na pia itabidi utumie Velero na Restic ili kuhifadhi kiasi. Ni ajabu, kwa sababu bidhaa hulipwa. Na watengenezaji hawakuwa na hamu ya kuwasiliana kwenye Slack.

Robin

Nilijifunza kuhusu Robin kwenye Reddit kutoka kwa mkurugenzi wao wa kiufundi. Sikuwahi kusikia habari zake hapo awali. Labda kwa sababu nilikuwa nikitafuta suluhisho za bure, lakini Robin analipwa. Wana toleo la ukarimu la bure na 10TB ya uhifadhi na nodi tatu. Kwa ujumla, bidhaa ni nzuri na ina sifa nzuri. Kuna CLI nzuri, lakini jambo la kupendeza zaidi ni kwamba unaweza kupiga picha na kuhifadhi programu nzima (katika kichaguzi cha rasilimali hii inaitwa kutolewa kwa Helm au "programu zinazobadilika"), pamoja na idadi na rasilimali zingine, kwa hivyo unaweza kufanya bila Velero. Na kila kitu kitakuwa cha kushangaza ikiwa sio kwa maelezo madogo: ikiwa utarejesha (au "kuagiza", kama inavyoitwa Robin) maombi kwenye nguzo mpya - kwa mfano, katika tukio la kupona kutoka kwa janga - urejesho, bila shaka, inafanya kazi, lakini endelea kucheleza programu imekatazwa. Hili haliwezekani katika toleo hili, kama watengenezaji wamethibitisha. Hii ni, kuiweka kwa upole, ya kushangaza, haswa kwa kuzingatia faida zingine (kwa mfano, chelezo za haraka sana na urejeshaji). Watengenezaji wanaahidi kurekebisha kila kitu kwa toleo linalofuata. Utendaji kwa ujumla ni mzuri, lakini niliona hali isiyo ya kawaida: ikiwa nitaendesha alama moja kwa moja kwenye sauti iliyoambatanishwa na mwenyeji, kasi ya kusoma ni ya haraka zaidi kuliko kukimbia kwa sauti sawa kutoka ndani ya ganda. Matokeo mengine yote yanafanana, lakini katika nadharia haipaswi kuwa na tofauti. Ingawa wanaifanyia kazi, nilikasirishwa na shida ya kurejesha na kuhifadhi nakala - nilidhani hatimaye nimepata suluhisho linalofaa, na nilikuwa tayari kulipia wakati nilihitaji nafasi zaidi au seva zaidi.

portworx

Sina mengi ya kusema hapa. Hii ni bidhaa iliyolipwa, sawa ya baridi na ya gharama kubwa. Utendaji ni wa kushangaza tu. Hiki ndicho kiashiria bora hadi sasa. Slack aliniambia kuwa bei huanza kwa $205 kwa mwezi kwa nodi, kama ilivyoorodheshwa katika Soko la Google la GKE. Sijui kama itakuwa nafuu ukinunua moja kwa moja. Siwezi kumudu hiyo hata hivyo, kwa hivyo nilisikitishwa sana kwamba leseni ya msanidi programu (hadi TB 1 na nodi 3) haina maana kwa Kubernetes isipokuwa umeridhika na utoaji tuli. Nilitarajia kuwa leseni ya kiasi ingeshuka kiotomatiki hadi kwa msanidi programu mwishoni mwa kipindi cha majaribio, lakini hiyo haikufanyika. Leseni ya msanidi programu inaweza tu kutumika moja kwa moja na Docker, na usanidi katika Kubernetes ni mgumu sana na mdogo. Kwa kweli, napendelea chanzo wazi, lakini ikiwa ningekuwa na pesa, bila shaka ningechagua Portworx. Kufikia sasa, utendaji wake haulinganishwi na chaguzi zingine.

Linstor

Niliongeza sehemu hii baada ya kuchapishwa kwa chapisho, wakati msomaji mmoja alipendekeza kujaribu Linstor. Nilijaribu na niliipenda! Lakini bado tunahitaji kuchimba zaidi. Sasa naweza kusema kuwa utendaji sio mbaya (nimeongeza matokeo ya alama hapa chini). Kwa kweli, nilipata utendaji sawa na diski moja kwa moja, bila ya juu yoyote. (Usiulize kwa nini Portworx ina nambari bora zaidi kuliko alama ya gari moja kwa moja. Sijui. Uchawi, nadhani.) Kwa hivyo Linstor inaonekana kuwa nzuri sana hadi sasa. Sio ngumu kusakinisha, lakini sio rahisi kama chaguzi zingine. Kwanza ilinibidi kusakinisha Linstor (moduli ya kernel na zana/huduma) na kusanidi LVM kwa utoaji mwembamba na usaidizi wa snapshot nje ya Kubernetes, moja kwa moja kwenye seva pangishi, na kisha kuunda rasilimali zinazohitajika kutumia hifadhi kutoka Kubernetes. Sikupenda kwamba haikufanya kazi kwenye CentOS na ilibidi nitumie Ubuntu. Sio ya kutisha, kwa kweli, lakini ya kukasirisha kidogo, kwa sababu hati (ambayo ni bora, kwa njia) inataja vifurushi kadhaa ambavyo haziwezi kupatikana kwenye hazina maalum za Epel. Linstor ana muhtasari, lakini sio chelezo za nje ya tovuti, kwa hivyo hapa tena ilibidi nitumie Velero na Restic kuweka nakala rudufu. Ningependelea snapshots badala ya chelezo za kiwango cha faili, lakini hii inaweza kuvumiliwa ikiwa suluhisho ni nzuri na ya kuaminika. Linstor ni chanzo wazi lakini amelipa usaidizi. Ikiwa ninaelewa kwa usahihi, inaweza kutumika bila vikwazo, hata ikiwa huna mkataba wa usaidizi, lakini hii inahitaji kufafanuliwa. Sijui jinsi Linstor ilivyojaribiwa kwa Kubernetes, lakini safu ya hifadhi yenyewe iko nje ya Kubernetes na, inaonekana, suluhisho halikuonekana jana, kwa hiyo labda tayari imejaribiwa katika hali halisi. Kuna suluhisho hapa ambalo litanifanya nibadilishe mawazo yangu na kurudi Kubernetes? Sijui. Bado tunahitaji kuchimba zaidi na kujifunza jinsi ya kurudia. Hebu tuone. Lakini hisia ya kwanza ni nzuri. Bila shaka ningependelea kutumia makundi yangu ya Kubernetes badala ya Heroku kuwa na uhuru zaidi na kujifunza mambo mapya. Kwa kuwa Linstor sio rahisi kusakinisha kama wengine, nitaandika chapisho kulihusu hivi karibuni.

Vigezo

Kwa bahati mbaya, sikuweka maelezo mengi kuhusu ulinganisho huo kwa sababu sikufikiri ningeandika kuuhusu. Nina matokeo tu kutoka kwa alama za msingi za fio na kwa nguzo za nodi moja tu, kwa hivyo sina nambari za usanidi uliorudiwa bado. Lakini kutokana na matokeo haya unaweza kupata wazo mbaya la nini cha kutarajia kutoka kwa kila chaguo, kwa sababu niliwalinganisha kwenye seva za wingu sawa, cores 4, 16 GB ya RAM, na diski ya ziada ya 100 GB kwa kiasi kilichojaribiwa. Niliendesha alama mara tatu kwa kila suluhisho na kuhesabu matokeo ya wastani, pamoja na kuweka upya mipangilio ya seva kwa kila bidhaa. Haya yote si ya kisayansi, ili tu kukupa wazo la jumla. Katika vipimo vingine, nilinakili 38 GB ya picha na video kutoka kwa kiasi ili kupima kusoma na kuandika, lakini, ole, sikuhifadhi namba. Kwa kifupi: Portworkx ilikuwa haraka sana.

Kwa kiwango cha alama nilitumia faili hii ya maelezo:

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

Kwanza niliunda kiasi na darasa linalofaa la uhifadhi kisha nikaendesha kazi hiyo na fio nyuma ya pazia. Nilichukua GB 1 kukadiria utendakazi na sio kungoja muda mrefu sana. Haya hapa matokeo:

Hifadhi katika Kubernetes: OpenEBS vs Rook (Ceph) vs Rancher Longhorn vs StorageOS vs Robin vs Portworx vs Linstor

Nimeangazia thamani bora zaidi kwa kila kipimo katika kijani kibichi na mbaya zaidi katika nyekundu.

Hitimisho

Kama unaweza kuona, katika hali nyingi Portworx ilifanya vizuri zaidi kuliko zingine. Lakini kwangu ni ghali. Sijui ni kiasi gani cha gharama za Robin, lakini wana toleo kubwa la bure, kwa hivyo ikiwa unataka bidhaa iliyolipwa, unaweza kujaribu (tunatumai watarekebisha tatizo na kurejesha na kuhifadhi hivi karibuni). Kati ya zile tatu za bure, nilikuwa na shida kidogo na OpenEBS, lakini utendaji wake ni mbaya. Ni huruma kwamba sikuhifadhi matokeo zaidi, lakini natumai nambari na maoni yangu yatakusaidia.

Chanzo: mapenzi.com

Kuongeza maoni