Kuuletko tuon hurisevan äänen? Se on lähestyvä tähtilaiva!

Cephillä on turhan järeät rautavaatimukset meidän käyttöön. Qb käyttää nykyään Longhornia Rook+Cephin asemesta, ja tämä sivu on säilytetty lähinnä historiallisesta mielenkiinnosta.


QB-klusterin storage-ratkaisuna käytetään Rookia ja Cephiä. Rook on operaattoripohjainen storage-hallintaväline, joka hallinnoi Ceph-tallennusjärjestelmän konfiguraatiota. Ceph tarjoaa block-, object- ja tiedostojärjestelmämuotoista tallennusta josta ensisijaisesti käytetään tiedostojärjestelmää (CephFS).

Ceph pyörii klusterin kaikilla nodeilla.

CephFS (qbfs)

Asennushetkellä useamman CephFS:n ajaminen samassa klusterissa oli vielä experimental-asteella, joten tehtiin yksi kaikille nodeille replikoittettu CephFS jossa kukin sovellus on omana alihakemistonaan, jonka nimi on sama kuin sovelluksen Kubernetes-nimiavaruuden nimi. Esim. Kompassin staging-ympäristön volume nimeltä kompassi-media vois olla vaikka polussa /kompassi-staging/kompassi-media.

(warning) TODO Sen vois muuten laittaa jonkun säännöllisen varmuuskopioittennan piiriin.

Esimerkkiä siitä miten CephFS mountataan konttiin voi kurkata vaikka Kompassista tai Edegalista (Conikuvat.fi:stä), polut defaults.in.ymlstaging.in.yml ja sovelluksennimi/deployment.in.yml. TL;DR kirjoitushetkellä Rook ei vielä tue CephFS:n dynaamista provisointia, joten käytetään PVC:n asemesta flexVolumeja.

Ceph Toolbox

Ceph Toolbox on kontti, johon on asennettuna tarpeelliset työkalut ja salaisuudet Ceph-klusterin tökkimiseksi.

Ceph Toolboxiin kirjautuminen

Ota SSH master-koneelle. Loitsi tämmönen lyhyt, kätevä ja helposti muistettava loitsu:

Master-koneella
kubectl -n rook-ceph exec -it $(kubectl -n rook-ceph get pod -l "app=rook-ceph-tools" -o jsonpath='{.items[0].metadata.name}') bash

Mitä sillä voi tehdä

Käytössä on mm. ceph-hallintakomento kaikkine alikomentoineen. Katto vaikka tuolta.

Ceph Toolboxin asennus

Siltä varalta, että Toolbox katoaa johonkin, saat sen asennettua Rookin ja Cephin asennuksen jälkeen tempasemalla tuolta sopivan YAML-pallon kubectl applyllä.

  • No labels