SkladiŔtenje u Kubernetesu: OpenEBS vs Rook (Ceph) vs Rancher Longhorn vs StorageOS vs Robin vs Portworx vs Linstor

SkladiŔtenje u Kubernetesu: OpenEBS vs Rook (Ceph) vs Rancher Longhorn vs StorageOS vs Robin vs Portworx vs Linstor

Ažuriraj!. U komentarima je jedan od čitatelja predložio da probate Linstor (možda on sam radi na tome), pa sam dodao dio o tom rjeŔenju. I ja sam pisao objavite kako ga instaliratijer se proces veoma razlikuje od ostalih.

Da budem iskren, odustao sam i odustao Kubernet (barem za sada). Ja ću koristiti Heroku. ZaÅ”to? Zbog skladiÅ”tenja! Ko bi rekao da ću se viÅ”e petljati sa skladiÅ”tem nego sa samim Kubernetesom. ja koristim Hetzner Cloud, jer je jeftin, a performanse su dobre, a od samog početka sam postavljao klastere sa Rančer. Nisam probao Kubernetes upravljane usluge od Google/Amazon/Microsoft/DigitalOcean itd., itd., jer sam htio sve sam naučiti. Takođe sam Å”tedljiv.

Dakle - da, proveo sam dosta vremena pokuÅ”avajući da odlučim koje skladiÅ”te da izaberem kada sam razmiÅ”ljao o mogućem steku na Kubernetesu. ViÅ”e volim open source rjeÅ”enja, i to ne samo zbog cijene, već sam pogledao par plaćenih opcija iz radoznalosti, jer imaju besplatne verzije sa ograničenjima. Zabilježio sam nekoliko brojeva iz nedavnih mjerila kada sam upoređivao različite opcije, a one bi mogle biti zanimljive onima koji proučavaju skladiÅ”tenje u Kubernetesu. Iako sam se lično do sada oprostio od Kubernetesa. Takođe želim da napomenem CSI drajver, u kojem možete direktno obezbijediti Hetzner Cloud volumene, ali to joÅ” nisam isprobao. Tražio sam softverski definiranu pohranu u oblaku jer mi je bila potrebna replikacija i mogućnost brzog montiranja trajnih volumena na bilo koji čvor, posebno u slučaju kvarova čvora i drugih sličnih situacija. Neka rjeÅ”enja nude trenutne snimke i sigurnosne kopije izvan lokacije, Å”to je zgodno.

Testirao sam 6-7 rjeŔenja za pohranu:

OpenEBS

Kao Å”to sam već rekao u prethodnom postu, nakon Å”to sam testirao većinu opcija sa liste, u početku sam se odlučio na OpenEBS. OpenEBS je vrlo jednostavan za instaliranje i koriÅ”tenje, ali da budem iskren, nakon testiranja sa stvarnim podacima pod opterećenjem, njegove performanse su me razočarale. Ovo je open source, a programeri su sami Slack kanal uvijek od velike pomoći kada mi je potrebna pomoć. Nažalost, ima veoma loÅ”e performanse u poređenju sa drugim opcijama, pa sam morao ponovo da izvrÅ”im testove. Trenutno OpenEBS ima 3 pogona za skladiÅ”tenje, ali ja objavljujem benchmark rezultate za cStor. JoÅ” nemam brojeve za Jivu i LocalPV.

Ukratko, Jiva je neÅ”to brža, a LocalPV je generalno brz, niÅ”ta loÅ”iji od direktnog benčmarka. Problem sa LocalPV-om je taj Å”to se volumenu može pristupiti samo na čvoru na kojem je dodijeljen, a replikacija uopće nema. Imao sam problema sa vraćanjem rezervne kopije putem Jedrilica na novom klasteru jer su imena čvorova bila drugačija. Kad smo kod rezervnih kopija, cStor ima dodatak za Velero, sa kojim možete napraviti rezervne kopije snimka u trenutku van lokacije, Å”to je praktičnije od pravljenja rezervnih kopija na nivou datoteke sa Velero-Restic-om. napisao sam viÅ”e skriptikako biste olakÅ”ali upravljanje sigurnosnom kopijom i vraćanjem pomoću ovog dodatka. Sve u svemu, zaista mi se sviđa OpenEBS, ali njegove performanse...

top

Rook je također otvorenog koda i razlikuje se od ostalih opcija na listi po tome Å”to je orkestrator pohrane koji obavlja složene zadatke upravljanja pohranom s različitim pozadinama, na primjer ceph, EdgeFS i drugi, Å”to uvelike pojednostavljuje rad. Imao sam problema sa EfgeFS-om kada sam ga isprobao prije nekoliko mjeseci, pa sam testirao uglavnom sa Ceph-om. Ceph nudi ne samo blok memoriju, već i skladiÅ”tenje objekata kompatibilno sa S3/Swift i distribuiranim sistemom datoteka. Ono Å”to mi se sviđa kod Ceph-a je mogućnost Å”irenja podataka o volumenu na viÅ”e diskova tako da volumen može koristiti viÅ”e prostora na disku nego Å”to može stati na jedan disk. To je udobno. JoÅ” jedna dobra karakteristika je da kada dodate diskove u klaster, on automatski redistribuira podatke na sve diskove.

Ceph ima snimke, ali koliko ja znam ne mogu se koristiti direktno u Rook/Kubernetes. DoduÅ”e, nisam se upuÅ”tao u to. Ali nema rezervnih kopija van lokacije, tako da morate koristiti neÅ”to sa Velero / Restic-om, ali postoje samo rezervne kopije na nivou fajla, ne i trenutni snimci. Međutim, ono Å”to mi se zaista sviđa kod Rooka je lakoća rada sa Cephom - on skriva gotovo sve složene stvari i nudi alate za direktan razgovor sa Cephom radi rjeÅ”avanja problema. Nažalost, na stres testu Ceph volumena, uvijek sam imao ovaj problem, Å”to uzrokuje da Ceph postane nestabilan. JoÅ” nije jasno da li je ovo greÅ”ka u samom Ceph-u ili problem u tome kako Rook upravlja Ceph-om. Petljao sam s postavkama memorije, i bilo je bolje, ali problem nije u potpunosti rijeÅ”en. Ceph ima dobre performanse kao Å”to se vidi u referentnim vrijednostima ispod. Takođe ima dobru kontrolnu tablu.

Rančer Longhorn

Zaista mi se sviđa Longhorn. Mislim da je ovo rjeÅ”enje koje obećava. Istina, sami programeri (Rancher Labs) priznaju da joÅ” nije prikladan za proizvodno okruženje, i to pokazuje. Otvoren je kod i ima pristojne performanse (iako ga joÅ” nisu optimizirali), ali volumenima je potrebno jako dugo da se prikače na pod, au najgorim slučajevima potrebno je 15-16 minuta, posebno nakon vraćanja velike rezervne kopije ili nadogradnja radnog opterećenja. Ima snimke i rezervne kopije tih snimaka van lokacije, ali oni se primjenjuju samo na volumene, tako da vam je i dalje potrebno neÅ”to poput Velero-a da napravite sigurnosnu kopiju ostatka resursa. Sigurnosne kopije i vraćanja su vrlo pouzdani, ali nepristojno spori. Ozbiljno, samo nedovoljno sporo. Upotreba CPU-a i opterećenje sistema često rastu kada radite sa prosječnom količinom podataka u Longhornu. Postoji zgodna kontrolna tabla za upravljanje Longhornom. Već sam rekao da mi se Longhorn sviđa, ali na njemu treba dobro poraditi.

Storage OS

StorageOS je prvi plaćeni proizvod na listi. Ima verziju za programere sa ograničenom veličinom upravljanog prostora za skladiÅ”tenje od 500 GB, ali mislim da nema ograničenja u broju čvorova. Odeljenje prodaje mi je reklo da cena počinje od 125 dolara mesečno za 1 TB, ako se dobro sećam. Postoji osnovna kontrolna tabla i zgodan CLI, ali neÅ”to se čudno deÅ”ava sa performansama: u nekim benchmarkovima su sasvim pristojne, ali u stres testu zapremine, brzina mi se uopÅ”te nije dopala. Generalno, ne znam Å”ta da kažem. Tako da nisam baÅ” razumeo. Ovdje nema rezervnih kopija van lokacije i također ćete morati koristiti Velero sa Restic-om za pravljenje rezervnih kopija volumena. Čudno, jer se proizvod plaća. A programeri nisu bili željni komuniciranja u Slacku.

crvendać

O Robinu sam saznao na Redditu od njihovog tehničkog direktora. Nikada ranije nisam čuo za njega. Možda zato Å”to sam tražio besplatna rjeÅ”enja, a Robin je plaćen. Imaju prilično izdaÅ”nu besplatnu verziju sa 10TB prostora za pohranu i tri čvora. Generalno, proizvod je prilično pristojan i sa lijepim karakteristikama. Postoji odličan CLI, ali najbolja stvar je to Å”to možete napraviti snimku i sigurnosnu kopiju cijele aplikacije (koja se nazivaju Helm izdanja ili "fleksibilne aplikacije" u selektoru resursa), uključujući volumene i druge resurse, tako da možete bez Velera. I sve bi bilo divno da ne postoji jedan mali detalj: ako vratite (ili "uvezete", kako se to u Robinu zove) aplikaciju na novom klasteru - na primjer, u slučaju oporavka od katastrofe - restauracija, naravno, radi, ali je zabranjeno nastaviti sa sigurnosnom kopijom aplikacije. U ovom izdanju to jednostavno nije moguće, a programeri su potvrdili. Ovo je u najmanju ruku čudno, posebno kada se uzmu u obzir druge prednosti (na primjer, nevjerovatno brze sigurnosne kopije i vraćanja). Programeri obećavaju da će sve popraviti do sljedećeg izdanja. Performanse su generalno dobre, ali sam primijetio čudnu stvar: ako pokrenete benchmark direktno na volumenu koji je povezan s hostom, brzina čitanja je mnogo veća nego u istom volumenu, ali iz unutraÅ”njosti pod-a. Svi ostali rezultati su identični, ali u teoriji ne bi trebalo biti razlike. Iako rade na tome, bio sam frustriran problemom vraćanja i backup-a - činilo mi se da sam konačno pronaÅ”ao odgovarajuće rjeÅ”enje, a bio sam čak i spreman da ga platim kada mi treba viÅ”e prostora ili viÅ”e servera.

portworx

Nemam puno za reći ovdje. Ovo je plaćeni proizvod, podjednako kul i skup. Izvedba je jednostavno neverovatna. Za sada je ovo najbolji pokazatelj. Slack mi je rekao da cijene počinju od 205 USD mjesečno po čvoru, kao Å”to je navedeno na Google-ovom GKE Marketplace-u. Ne znam da li će biti jeftinije ako kupujete direktno. U svakom slučaju, ne mogu si to priuÅ”titi, pa sam bio jako, jako razočaran Å”to je licenca za programere (do 1TB i 3 čvora) praktički beskorisna s Kubernetesom, osim ako niste zadovoljni statičkim obezbjeđivanjem. Nadao sam se da će količinska licenca automatski preći na programer na kraju probnog perioda, ali to se nije dogodilo. Licenca za programere može se koristiti samo direktno sa Dockerom, a podeÅ”avanje u Kubernetesu je veoma glomazno i ​​ograničeno. Naravno, viÅ”e volim open source, ali da imam novca, svakako bih izabrao Portworx. Do sada se njegove performanse jednostavno ne mogu porediti sa drugim opcijama.

Linstor

Dodao sam ovaj odjeljak nakon Å”to je objava objavljena, kada mi je čitalac predložio da isprobam Linstor. Isprobao sam ga i svidjelo mi se! Ali moram joÅ” malo istražiti. Za sada mogu reći da su performanse prilično dobre (rezultate benchmarka sam dodao ispod). U stvari, dobio sam iste performanse kao i sa direktnim disk benchmarkom, bez ikakvih dodatnih troÅ”kova. (Ne pitajte zaÅ”to su Portworxove brojke bolje od direktnog disk benchmarka. Nemam pojma. Magija, pretpostavljam.) Dakle, Linstor se za sada čini vrlo efikasnim. Postavljanje nije baÅ” teÅ”ko, ali nije ni tako jednostavno kao druge opcije. Prvo sam morao instalirati Linstor (kernel modul i alate/usluge) i postaviti LVM za tanko obezbjeđivanje i podrÅ”ku za snapshot izvan Kubernetesa, direktno na hostu, a zatim kreirati resurse potrebne za koriÅ”tenje pohrane iz Kubernetesa. Nisam bio sretan Å”to nije radio na... CentOS i morao je koristiti UbuntuNije to velika stvar, naravno, ali je malo dosadno jer dokumentacija (koja je, usput rečeno, odlična) spominje nekoliko paketa koji nisu dostupni u navedenim Epel repozitorijima. Linstor ima snapshots, ali nema off-site backup-ove, pa sam morao ponovo koristiti Velero s Resticom za backup volumena. ViÅ”e bih volio snapshots nego backup-ove na nivou datoteka, ali to je podnoÅ”ljivo ako je rjeÅ”enje efikasno i pouzdano. Linstor je otvorenog koda, ali postoji plaćena podrÅ”ka. Ako sam dobro shvatio, možete ga koristiti bez ograničenja čak i ako nemate ugovor o podrÅ”ci, ali bih to morao provjeriti. Ne znam koliko je Linstor testiran za Kubernetes, ali sam sloj za pohranu je izvan Kubernetesa i izgleda kao da postoji već neko vrijeme, tako da je vjerovatno već testiran u stvarnim uslovima. Postoji li ovdje neko rjeÅ”enje koje bi me natjeralo da promijenim miÅ”ljenje i vratim se na Kubernetes? Ne znam. Moram malo viÅ”e istražiti i naučiti o replikaciji. Vidjet ćemo. Ali prvi utisak je dobar. Definitivno bih radije koristio vlastite Kubernetes klastere umjesto Herokua zbog viÅ”e slobode i učenja novih stvari. Budući da Linstor nije tako jednostavan za instaliranje kao drugi, uskoro ću napisati post o tome.

Benchmarks

Nažalost, malo sam zabilježio poređenje, jer nisam mislio da ću o tome pisati. Imam samo FIO osnovne benchmark rezultate i to samo za klastere sa jednim čvorom, tako da joÅ” nemam brojeve za replicirane konfiguracije. Ali iz ovih rezultata možete dobiti grubu ideju Å”ta očekivati ​​od svake opcije, jer sam ih uporedio na istim cloud serverima, 4 jezgra, 16 GB RAM-a, sa dodatnim diskom od 100 GB za testirane volumene. Pokrenuo sam benchmark tri puta za svako rjeÅ”enje i izračunao prosječan rezultat, plus resetirao postavke servera za svaki proizvod. Sve je ovo potpuno nenaučno, samo da shvatite uopÅ”teno. U drugim testovima sam kopirao 38 GB fotografija i video zapisa sa volumena i za testiranje čitanja i pisanja, ali, nažalost, nisam sačuvao brojeve. Ukratko: Portworkx je bio mnogo brži.

Za mjerilo volumena koristio sam ovaj manifest:

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

Prvo sam kreirao volumen s odgovarajućom klasom za pohranu, a zatim pokrenuo posao sa fio iza scene. Uzeo sam 1 GB da procijenim performanse i da ne čekam predugo. Evo rezultata:

SkladiŔtenje u Kubernetesu: OpenEBS vs Rook (Ceph) vs Rancher Longhorn vs StorageOS vs Robin vs Portworx vs Linstor

Označio sam najbolju vrijednost za svaku metriku zelenom, a najgoru crvenom.

zaključak

Kao Å”to vidite, u većini slučajeva Portworx je imao bolje rezultate od ostalih. Ali za mene je to skupo. Ne znam koliko koÅ”ta Robin, ali postoji odlična besplatna verzija, pa ako vam treba proizvod koji se plaća, možete ga isprobati (nadam se da će uskoro rijeÅ”iti problem s restauracijama i backupima). Od tri besplatna, imao sam najmanje problema sa OpenEBS-om, ali njegove performanse su straÅ”ne. Žao mi je Å”to nisam sačuvao viÅ”e rezultata, ali nadam se da će vam brojevi i moji komentari pomoći.

izvor: www.habr.com

Kupite pouzdan hosting za sajtove sa DDoS zaÅ”titom, VPS VDS servere šŸ”„ Kupite pouzdan web hosting sa DDoS zaÅ”titom, VPS VDS servere | ProHoster