ndemanga: Pakati pa kusintha kwakukulu kwa Rook 1.0.0 kumasulidwa kokhudzana ndi Ceph, tikhoza kuzindikira chithandizo cha Ceph Nautilus ndi kuthekera kogwiritsa ntchito NFS kwa CephFS kapena RGW ndowa. Chomwe chimadziwika pakati pa ena ndikukula kwa chithandizo cha EdgeFS pamlingo wa beta.
Choncho, m'nkhaniyi ife:
Tiyeni tiyankhe funso lokhudza zabwino zomwe timawona pogwiritsa ntchito Rook kutumiza Ceph mu gulu la Kubernetes;
Tiye tikuuzeni chifukwa chake timati βInde!β kwa Rook, ndi za mapulani athu kwa iye.
Tiyeni tiyambe ndi mfundo wamba ndi chiphunzitso.
"Ndili ndi mwayi wa Rook m'modzi!" (wosewerera chess wosadziwika)
Chimodzi mwazabwino zazikulu za Rook ndikuti kulumikizana ndi masitolo a data kumachitika kudzera mu njira za Kubernetes. Izi zikutanthauza kuti simukufunikanso kukopera malamulo kuti mukonze Ceph kuchokera papepala kupita ku console.
- Kodi mukufuna kutumiza CephFS mgulu? Ingolembani fayilo ya YAML!
- Chani? Kodi mukufunanso kutumiza sitolo ya zinthu ndi S3 API? Ingolembani fayilo yachiwiri ya YAML!
Rook amapangidwa motsatira malamulo onse a woyendetsa. Kuyanjana ndi iye kumachitika pogwiritsa ntchito CRD (Matanthauzo Azinthu Zachikhalidwe), momwe timafotokozera zamagulu a Ceph omwe timafunikira (popeza uku ndiye kukhazikitsa kokhazikika, mwachisawawa nkhaniyi ilankhula za Ceph, pokhapokha zitanenedwa momveka bwino). Malinga ndi magawo omwe atchulidwa, wogwiritsa ntchitoyo adzipangira okha malamulo ofunikira kuti asinthidwe.
Magawo omwe asonyezedwa pamndandandawo ndi okhazikika ndipo safuna ndemanga, koma ndikofunikira kulabadira kwambiri zomwe zaperekedwa kumitundu yosiyanasiyana ya ma template.
Zochita zonse zomwe zalembedwa mu Job iyi zidachitika mkati mwa Kubernetes. Zomwe zafotokozedwa m'mafayilo a YAML zimasungidwa munkhokwe ya Git ndipo zimagwiritsidwanso ntchito nthawi zambiri. Tikuwona izi ngati kuphatikiza kwakukulu kwa mainjiniya a DevOps ndi njira ya CI/CD yonse.
Wokondwa ndi Rook ndi Rados
Kugwiritsa ntchito kuphatikiza kwa Ceph + RBD kumayika zoletsa zina pakukweza ma voliyumu ku ma pod.
Makamaka, malowa ayenera kukhala ndi chinsinsi chofikira ku Ceph kuti mapulogalamu ovomerezeka agwire ntchito. Ndibwino ngati muli ndi malo 2-3 m'malo awo: mutha kupita ndikukopera chinsinsi pamanja. Koma bwanji ngati pachinthu chilichonse malo osiyana okhala ndi dzina lake apangidwira opanga?
Tinathetsa vutoli tokha pogwiritsa ntchito chipolopolo-woyendetsa, zomwe zimakopera zinsinsi ku malo atsopano (chitsanzo cha mbedza yoteroyo chafotokozedwa mu nkhaniyi).
Mu fayilo rook-ceph/values.yaml mutha kupeza zokonda zosiyanasiyana. Chofunikira kwambiri ndikutanthauzira kulekerera kwa othandizira ndi kusaka. Tidafotokozera mwatsatanetsatane zomwe njira zotayirira / zolekerera zitha kugwiritsidwa ntchito nkhaniyi.
Mwachidule, sitikufuna kuti ma pods ogwiritsira ntchito kasitomala azikhala pamalo omwewo ngati ma disks osungira. Chifukwa chake ndi chosavuta: motere ntchito ya othandizira a Rook sidzakhudza kugwiritsa ntchito komweko.
Kuyang'ana mawonekedwe a Ceph - yembekezerani kuwona HEALTH_OK:
$ kubectl -n ${ROOK_NAMESPACE} exec $(kubectl -n ${ROOK_NAMESPACE} get pod -l app=rook-ceph-operator -o name -o jsonpath='{.items[0].metadata.name}') -- ceph -s
Nthawi yomweyo, tiyeni tiwone kuti ma pod omwe ali ndi kasitomala samatha kukhala pazida zosungidwa kwa Ceph:
$ kubectl -n ${APPLICATION_NAMESPACE} get pods -o custom-columns=NAME:.metadata.name,NODE:.spec.nodeName
Kuphatikiza apo, zida zowonjezera zitha kukhazikitsidwa momwe mukufunira. Zambiri za iwo zikuwonetsedwa mu zolemba. Kwa oyang'anira, timalimbikitsa kwambiri kukhazikitsa dashboard ndi bokosi la zida.
Rook ndi mbedza: kodi Rook amakwanira chilichonse?
Monga mukuonera, kukula kwa Rook kuli pachimake. Koma pali mavuto omwe satilola kuti tisiye kusinthika kwa Ceph: