Kubernetesтеги сактоо: OpenEBS vs Rook (Ceph) vs Rancher Longhorn vs StorageOS vs Robin vs Portworx vs Linstor

Kubernetesтеги сактоо: OpenEBS vs Rook (Ceph) vs Rancher Longhorn vs StorageOS vs Robin vs Portworx vs Linstor

Жаңыртуу!. Комментарийлерде окурмандардын бири аракет кылууну сунуштады Linstor (балким, ал өзү иштеп жаткандыр) ошондуктан мен бул чечим жөнүндө бөлүмдү коштум. Мен да жаздым аны кантип орнотуу керектиги жөнүндө билдирүү, анткени процесс калгандарынан абдан айырмаланат.

Чынын айтсам, баш тарттым, баш тарттым Kubernetes (жок дегенде азыр). Мен колдоном Жиберүү. Неге? Сактоо үчүн! Кубернетестин өзүнө караганда, сактоо менен көбүрөөк алектенем деп ким ойлогон эле. Мен колдоном Hetzner Cloudанткени ал арзан жана иштеши жакшы жана башынан бери мен кластерлерди колдонуп келе жатам. Rancher. Мен Google/Amazon/Microsoft/DigitalOcean ж.б.у.с.дан башкарылган Kubernetes кызматтарын колдонуп көргөн жокмун, анткени бардыгын өзүм үйрөнгүм келди. Мен да сарамжалдуумун.

Ооба, мен мүмкүн болгон Kubernetes стекине баа берип жатканда кайсы сактагычты тандоону чечүүгө көп убакыт короттум. Мен ачык булактуу чечимдерди жактырам, баасына байланыштуу гана эмес, бирок мен бир нече акы төлөнүүчү варианттарды карап чыктым, анткени алардын чектөөлөрү бар акысыз версиялары бар. Мен ар кандай варианттарды салыштырганда акыркы сыноолордон кээ бир сандарды жазып алдым жана алар Kubernetes сактагычын үйрөнгөндөр үчүн кызыктуу болушу мүмкүн. Азырынча мен жеке Kubernetes менен коштошкон болсом да. Мен дагы белгилегим келет CSI айдоочусу, ал Hetzner Cloud көлөмүн түз бере алат, бирок мен аны азырынча сынай элекмин. Мен булуттун программалык камсыздоосу менен аныкталган сактагычты карадым, анткени мага репликация жана ар кандай түйүндө туруктуу көлөмдөрдү тез орнотуу мүмкүнчүлүгү керек болчу, айрыкча түйүн бузулганда жана башка ушул сыяктуу кырдаалдарда. Кээ бир чечимдер убакыттын ичинде сүрөттөрдү жана сайттан тышкаркы резервдик көчүрмөлөрдү сунуштайт, бул ыңгайлуу.

Мен 6-7 сактоо чечимдерин сынап көрдүм:

OpenEBS

Жогоруда айткандай мурунку посттоТизмедеги варианттардын көбүн сынап көрүп, мен алгач OpenEBSге орноштум. OpenEBS орнотуу жана колдонуу абдан жеңил, бирок чынын айтсам, жүктөм астында реалдуу маалыматтар менен сынап көргөндөн кийин, анын иштешине нааразы болдум. Бул ачык булак жана иштеп чыгуучулар өз алдынча Slack канал мага жардам керек болгондо ар дайым абдан пайдалуу. Тилекке каршы, ал башка варианттарга салыштырмалуу өтө начар көрсөткүчкө ээ, ошондуктан тесттерди кайра иштетүүгө туура келди. Учурда OpenEBSте 3 сактоо кыймылдаткычы бар, бирок мен cStor үчүн эталондук натыйжаларды жарыялап жатам. Менде Jiva жана LocalPV үчүн номерлер жок.

Кыскача айтканда, Jiva бир аз ылдамыраак, ал эми LocalPV жалпысынан тезирээк, түздөн-түз дисктин эталонунан да жаман эмес. LocalPV менен көйгөй - бул көлөмгө ал даярдалган түйүндө гана кирүүгө болот жана эч кандай репликация жок. Мен аркылуу камдык көчүрмөнү калыбына келтирүүдө бир аз көйгөйлөр болду жел кайык жаңы кластерде, анткени түйүндөрдүн аталыштары ар башка болгон. Эгерде биз камдык көчүрмөлөр жөнүндө айтсак, cStor бар Velero үчүн плагин, анын жардамы менен сиз каалаган убакта көз ирмемдик сүрөттөрдүн сайттан тышкары резервдик көчүрмөсүн жасай аласыз, бул Velero-Restic менен файл деңгээлиндеги резервдик көчүрмөлөргө караганда ыңгайлуу. Мен жаздым бир нече скрипт, бул плагин менен камдык көчүрмөлөрдү жана калыбына келтирүүнү башкарууну жеңилдетүү үчүн. Жалпысынан алганда, мага OpenEBS абдан жагат, бирок анын аткаруусу...

Каркыра

Rook да ачык булак болуп саналат жана тизмедеги калган варианттардан айырмаланып турат, ал сактагыч оркестри, ал ар кандай бэйнектер менен сактоону башкаруунун татаал тапшырмаларын аткарат, мис. Кеф, EdgeFS жана башкалар, бул ишти бир кыйла жецилдетет. Мен EfgeFS менен бир нече ай мурун аракет кылганда көйгөйлөргө туш болдум, ошондуктан мен негизинен Ceph менен сынап көрдүм. Ceph блоктук сактагычты гана сунуш кылбастан, S3/Swift жана бөлүштүрүлгөн файл тутуму менен шайкеш объект сактагычты да сунуштайт. Ceph мага жаккан нерсе - бул көлөмдөгү маалыматтарды бир нече дисктерге жайылтуу, андыктан көлөм бир дискке батпай, көбүрөөк диск мейкиндигин колдоно алат. Бул ыңгайлуу. Дагы бир сонун өзгөчөлүк, сиз дисктерди кластерге кошкондо, ал автоматтык түрдө бардык дисктер боюнча маалыматтарды бөлүштүрөт.

Cephтин сүрөттөрү бар, бирок менин билишимче, аларды түздөн-түз Rook/Kubernetesте колдонууга болбойт. Ырас, мен буга терең кирген жокмун. Бирок сайттан тышкаркы резервдик көчүрмөлөр жок, андыктан Velero/Restic менен бир нерсе колдонушуңуз керек болот, бирок файл деңгээлиндеги камдык көчүрмөлөр гана бар, убакыттын ичинде эмес. Руктун мага абдан жакканы Ceph менен иштөө канчалык оңой болду – ал дээрлик бардык татаал нерселерди жашырат жана көйгөйлөрдү чечүү үчүн Ceph менен түз сүйлөшүү үчүн куралдарды сунуштайт. Тилекке каршы, Ceph томдорунун стресс-тест учурунда менде көйгөйлөр пайда болду бул көйгөй, бул Кефтин туруксуз болушуна алып келет. Бул Кефтин өзүндөгү мүчүлүштүкбү же Руктун Кефти башкаруудагы көйгөйбү азырынча белгисиз. Мен эстутум орнотууларын карап көрдүм, ал жакшырды, бирок маселе толугу менен чечилген жок. Төмөнкү көрсөткүчтөрдөн көрүнүп тургандай, Ceph татыктуу көрсөткүчкө ээ. Ал ошондой эле жакшы панели бар.

Ранчер Лонгхорн

Мага Лонгхорн абдан жагат. Менимче, бул келечектүү чечим. Ырас, иштеп чыгуучулар өздөрү (Rancher Labs) ал азырынча жумушчу чөйрөгө ылайыктуу эмес экенин моюнга алышат жана бул көрсөтүп турат. Бул ачык булак жана татыктуу өндүрүмдүүлүккө ээ (алар аны азырынча оптималдаштыра элек), бирок томдор подкетке туташуу үчүн абдан көп убакытты талап кылат, ал эми эң начар учурларда, өзгөчө чоң резервдик көчүрмөнү калыбына келтиргенден кийин же 15-16 мүнөт талап кылынат. иш жүгүн жогорулатуу. Анын көз ирмемдик сүрөттөрү жана бул сүрөттөрдүн сайттан тышкаркы резервдик көчүрмөлөрү бар, бирок алар томдорго гана тиешелүү, андыктан башка ресурстардын камдык көчүрмөсүн сактоо үчүн сизге дагы эле Velero сыяктуу нерсе керек болот. Камдык көчүрмөлөр жана калыбына келтирүү абдан ишенимдүү, бирок жөнсүз жай. Олуттуу, жөн гана укмуш жай. Лонгхорндо орточо көлөмдөгү маалымат менен иштегенде CPU колдонулушу жана тутумдун жүгү көп болот. Longhorn башкаруу үчүн ыңгайлуу башкаруу панели бар. Мен Лонгхорнду жакшы көрөм деп айткан элем, бирок ага бир аз иштөө керек.

StorageOS

StorageOS тизмедеги биринчи төлөнүүчү продукт. Анын 500 ГБ башкарылуучу сактагыч көлөмү чектелген иштеп чыгуучу версиясы бар, бирок түйүндөрдүн санына чектөө жок деп ойлойм. Сатуу бөлүмү, эгер туура эсимде болсо, баасы 125 ТБ үчүн айына 1 доллардан башталат деп айтты. Негизги башкаруу панели жана ыңгайлуу CLI бар, бирок аткарууда кызыктай бир нерсе болуп жатат: кээ бир эталондордо бул абдан татыктуу, бирок көлөмдөгү стресс-тестте ылдамдык такыр жаккан жок. Жалпысынан, мен эмне дээримди билбейм. Ошентип, мен көп нерсени түшүнгөн жокмун. Бул жерде сайттан тышкаркы резервдик көчүрмөлөр жок жана сиз көлөмдөрдүн камдык көчүрмөсүн сактоо үчүн Velero менен Restic колдонушуңуз керек болот. Бул кызык, анткени продукт төлөнөт. Ал эми иштеп чыгуучулар Slack менен баарлашууну каалашкан жок.

Robin

Мен Redditте Робин жөнүндө алардын техникалык директорунан билдим. Мен ал жөнүндө мурда уккан эмесмин. Балким, мен бекер чечимдерди издеп жүргөндүктөн, бирок Робин төлөнөт. Алардын 10ТБ сактагычы жана үч түйүнү бар абдан кең пейил акысыз нускасы бар. Жалпысынан алганда, продукт абдан татыктуу жана жакшы өзгөчөлүктөрү бар. Мыкты CLI бар, бирок эң сонун нерсе, сиз бүтүндөй тиркемени (ресурс тандагычта Helm релиздери же “икемдүү колдонмолор” деп аталат), анын ичинде көлөмдөрдү жана башка ресурстарды сүрөткө тартып, камдык көчүрмөсүн сактай аласыз, ошондуктан Velero жок кыла аласыз. Бир майда-чүйдөсүнө чейин болбосо, баары сонун болмок: эгер сиз жаңы кластердеги тиркемени калыбына келтирсеңиз (же "импорт" деп аталат) - мисалы, кырсыктан калыбына келтирилгенде - калыбына келтирүү, Албетте, иштейт, бирок тиркеменин камдык көчүрмөсүн сактоого тыюу салынат. Иштеп чыгуучулар тастыктагандай, бул чыгарылышта бул жөн эле мүмкүн эмес. Бул, жумшак айтканда, кызыктай, өзгөчө башка артыкчылыктарды эске алуу менен (мисалы, укмуштуудай тез резервдик көчүрүү жана калыбына келтирүү). Иштеп чыгуучулар кийинки релизге чейин баарын оңдоого убада беришет. Аткаруучулук жалпысынан жакшы, бирок мен бир кызыкчылыкты байкадым: эгер мен эталонду түз хостко тиркелген көлөмдө иштетсем, окуу ылдамдыгы бир эле көлөмдү поддондун ичинен иштетүүгө караганда алда канча тезирээк болот. Бардык башка натыйжалар бирдей, бирок теорияда эч кандай айырма болбошу керек. Алар мунун үстүндө иштеп жатышканына карабастан, мен калыбына келтирүү жана камдык көчүрмөнү сактоо көйгөйүнө капа болдум - мен акыры ылайыктуу чечим таптым деп ойлогом, атүгүл мага көбүрөөк орун же көбүрөөк серверлер керек болгондо, ал үчүн төлөөгө даяр болчумун.

portworx

Бул жерде айта турган көп нерсем жок. Бул акы төлөнүүчү продукт, бирдей салкын жана кымбат. аткаруу жөн гана укмуш. Бул азырынча эң жакшы көрсөткүч. Slack мага баа Google'дун GKE Marketplace тизмесинде көрсөтүлгөндөй, бир түйүн үчүн айына 205 доллардан башталат деп айтты. Түздөн-түз сатып алсаңар арзан болобу, билбейм. Мен муну баары бир төлөй албайм, ошондуктан иштеп чыгуучу лицензиясынын (1 ТБ жана 3 түйүнгө чейин) Kubernetes менен иш жүзүндө жараксыз экенине абдан капа болдум, эгерде сиз статикалык камсыздоого ыраазы болбосоңуз. Сыноо мезгилинин аягында көлөм лицензиясы автоматтык түрдө иштеп чыгуучуга төмөндөйт деп үмүттөнгөн элем, бирок андай болгон жок. Иштеп чыгуучу лицензиясын түздөн-түз Docker менен гана колдонсо болот жана Kubernetesтеги конфигурация абдан оор жана чектелген. Албетте, мен ачык булакты жактырам, бирок менде акча болгондо сөзсүз Portworxту тандамакмын. Азырынча анын иштеши башка варианттарга салыштырмалуу эмес.

Linstor

Мен бул бөлүмдү пост жарыялангандан кийин, бир окурман Linstor аракетин сунуш кылганда коштум. Мен аракет кылып көрдүм жана мага жакты! Бирок биз дагы тереңирээк казышыбыз керек. Эми мен аткаруу жаман эмес деп айта алам (менчмарка натыйжаларын төмөндө коштум). Негизи, мен эч кандай ашыкча чыгымсыз, түздөн-түз диск менен бирдей өндүрүмдүүлүккө ээ болдум. (Эмне үчүн Portworx түз дисктин эталонунан жакшыраак сандарга ээ деп сурабаңыз. Менде эч кандай түшүнүк жок. Сыйкыр, мен ойлойм.) Ошентип, Linstor азырынча абдан натыйжалуу көрүнөт. Орнотуу анчалык деле кыйын эмес, бирок башка варианттардай оңой эмес. Адегенде мен Linstorду (ядро модулу жана куралдар/кызматтар) орнотуп, LVMди Кубернетестен тышкары, түздөн-түз хостто ичке провизиялоо жана снапшот колдоо үчүн конфигурациялап, андан кийин Kubernetes сактагычын колдонуу үчүн керектүү ресурстарды түзүшүм керек болчу. Анын CentOSта иштебегени мага жаккан жок жана Ubuntuну колдонууга туура келди. Албетте, коркунучтуу эмес, бирок бир аз тажатма, анткени документацияда (бул эң сонун) Epel репозиторийлеринде таппай турган бир нече пакеттер айтылат. Linstor сүрөттөрү бар, бирок сайттан тышкаркы резервдик көчүрмөлөр жок, андыктан бул жерде дагы бир жолу Velero менен Velero менен көлөмдөрдүн камдык көчүрмөсүн сактоого туура келди. Мен файл деңгээлиндеги резервдик көчүрмөлөрдүн ордуна көз ирмемдик сүрөттөрдү артык көрмөкмүн, бирок чечим натыйжалуу жана ишенимдүү болсо, буга чыдаса болот. Linstor ачык булак, бирок акы төлөнүүчү колдоого ээ. Эгер мен туура түшүнсөм, сизде колдоо келишими жок болсо да, аны чектөөсүз колдонсо болот, бирок бул тактоо керек. Мен Linstor Kubernetes үчүн канчалык сыналганын билбейм, бирок сактоо катмарынын өзү Кубернетестин сыртында жана, сыягы, чечим кечээ пайда болгон жок, ошондуктан ал реалдуу шарттарда сыналган болушу мүмкүн. Бул жерде мени оюмду өзгөртүп, Кубернетеске кайтып барууга мажбурлай турган чечим барбы? Билбейм билбейм. Биз дагы деле тереңирээк казып, кайталоону изилдешибиз керек. көрөлү. Бирок биринчи таасири жакшы. Көбүрөөк эркиндикке ээ болуу жана жаңы нерселерди үйрөнүү үчүн Герокунун ордуна өзүмдүн Kubernetes кластерлеримди колдонгум келет. Linstor орнотуу башкалардыкындай оңой болбогондуктан, мен бул тууралуу жакында пост жазам.

Эталондор

Тилекке каршы, салыштыруу тууралуу көп жазууларды сактаган жокмун, анткени бул тууралуу жазам деп ойлогон эмесмин. Менде негизги fio эталондорунун натыйжалары гана бар жана бир түйүн кластерлери үчүн гана, ошондуктан менде репликацияланган конфигурациялар үчүн сандар жок. Бирок бул натыйжалардан сиз ар бир варианттан эмнени күтүү керектиги жөнүндө болжолдуу түшүнүк ала аласыз, анткени мен аларды ошол эле булут серверлеринде, 4 өзөктө, 16 ГБ оперативдүү эс тутумда, сыналган көлөмдөр үчүн кошумча 100 ГБ диск менен салыштырдым. Мен ар бир чечим үчүн үч жолу эталондорду иштеттим жана орточо натыйжаны эсептеп чыктым, плюс ар бир продукт үчүн сервер жөндөөлөрүн баштапкы абалга келтирдим. Мунун баары толугу менен илимий эмес, жөн гана жалпы түшүнүк берүү үчүн. Башка тесттерде окууну жана жазууну сынап көрүү үчүн томдон 38 ГБ сүрөттөр менен видеолорду көчүрдүм, бирок, тилекке каршы, сандарды сактаган жокмун. Кыскача айтканда: Portworkx алда канча тезирээк болгон.

Көлөмдүн көрсөткүчү үчүн мен бул манифестти колдондум:

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

Мен адегенде тиешелүү сактоо классы менен көлөмдү түзүп, андан кийин көшөгөнүн артында fio менен жумушту иштеттим. Мен аткарууну баалоо үчүн 1 ГБ алдым жана көпкө күтпөйм. Бул жерде жыйынтыктар:

Kubernetesтеги сактоо: OpenEBS vs Rook (Ceph) vs Rancher Longhorn vs StorageOS vs Robin vs Portworx vs Linstor

Мен ар бир метрика үчүн эң жакшы маанини жашыл түс менен, эң начарын кызыл менен белгилеп койдум.

жыйынтыктоо

Көрүнүп тургандай, көпчүлүк учурларда Portworx башкаларга караганда жакшыраак аткарды. Бирок мен үчүн бул кымбат. Робиндин баасы канча экенин билбейм, бирок алардын эң сонун акысыз версиясы бар, андыктан эгер сиз акы төлөнүүчү продуктуну кааласаңыз, аны сынап көрсөңүз болот (жакында алар калыбына келтирүү жана камдык көчүрмөлөр менен көйгөйдү чечет деп үмүттөнөбүз). Үч бекердин ичинен менде OpenEBS менен эң аз көйгөйлөр болгон, бирок анын иштеши абдан начар. Өкүнүчтүүсү, мен дагы натыйжаларды сактай алган жокмун, бирок сандар жана менин комментарийлерим сизге жардам берет деп ишенем.

Source: www.habr.com

Комментарий кошуу