
TĂĄimid , conas/cĂ©n fĂĄth a dtaitnĂonn Rook linn: simplĂonn sĂ© go mĂłr oibriĂș le stĂłrĂĄil i gcnuasaigh Kubernetes. Mar sin fĂ©in, tagann deacrachtaĂ ĂĄirithe leis an simplĂocht seo. TĂĄ sĂșil againn go gcabhrĂłidh an t-ĂĄbhar nua linn na castachtaĂ sin a thuiscint nĂos fearr sula dtagann siad chun solais.
Chun Ă© a dhĂ©anamh nĂos suimiĂșla Ă© a lĂ©amh, cuirimis tĂșs leis iarmhairtĂ fadhb hipitĂ©iseach i mbraisle.
"TĂĄ gach rud caillte!"
Samhlaigh go ndearna tĂș Rook a chumrĂș agus a sheoladh uair amhĂĄin i do bhraisle K8s, go raibh sĂ© sĂĄsta leat lena chuid oibre, ach ag am Ă©igin "iontach" tarlaĂonn an mĂ©id seo a leanas:
- NĂ fĂ©idir le pods nua ĂomhĂĄnna RBD a shuiteĂĄil Ăł Ceph.
- Is maith le foirne
lsblkĐždfnĂĄ rith ar nĂłid Kubernetes. CiallaĂonn sĂ© seo go huathoibrĂoch: âtĂĄ rud Ă©igin mĂcheartâ leis na hĂomhĂĄnna RBD atĂĄ suite ar na nĂłid. NĂ fĂ©idir liom iad a lĂ©amh, rud a thugann le fios nach bhfuil na monatĂłirĂ ar fĂĄil... - Sea, nĂl aon mhonatĂłirĂ oibre sa bhraisle. Thairis sin, nĂl fiĂș pods le pods OSD nĂł MGR.
Cathain a seoladh an pod? rook-ceph-operator? NĂ chomh fada Ăł shin a imscaradh Ă©. CĂ©n fĂĄth? Chinn Rook-operator braisle nua a dhĂ©anamh... Conas is fĂ©idir linn oibriĂș an bhraisle agus na sonraĂ atĂĄ ann a athbhunĂș anois?
Ar dtĂșs, dĂ©anaimis bealach nĂos faide, suimiĂșil trĂ imscrĂșdĂș tuisceanach a dhĂ©anamh ar âtaobh istighâ Rook agus athchĂłiriĂș cĂ©im ar chĂ©im ar a chuid comhphĂĄirteanna. Ar ndĂłigh, tĂĄ bealach ceart nĂos giorra: ĂșsĂĄid a bhaint as cĂșltacaĂ. Mar is eol duit, roinntear na riarthĂłirĂ i dhĂĄ chineĂĄl: iad siĂșd nach ndĂ©anann cĂșltacaĂ, agus iad siĂșd a dhĂ©anann iad cheana fĂ©in ... Ach nĂos mĂł faoi seo tar Ă©is an imscrĂșdaithe.
Cleachtadh beag, nĂł bealach fada
BreathnaĂmis thart agus cuirimis na monatĂłirĂ ar ais
Mar sin, dĂ©anaimis fĂ©achaint ar an liosta de na ConfigMap: tĂĄ na cinn atĂĄ riachtanach le haghaidh ĂĄirithinte rook-ceph-config Đž rook-config-override. LĂ©irĂtear iad ar imscaradh rathĂșil an bhraisle.
NB: I leaganacha nua, tar Ă©is glacadh leo , NĂl ConfigMaps ina thĂĄscaire ar an rath a bhĂ ar imscaradh braisle a thuilleadh.
Chun gnĂomhartha breise a dhĂ©anamh, teastaĂonn atosĂș crua uainn de na freastalaithe go lĂ©ir a bhfuil ĂomhĂĄnna RBD glĂ©asta acu (ls /dev/rbd*). NĂ mĂłr Ă© a dhĂ©anamh trĂ sysrq (nĂł âar scĂłrâ chuig an ionad sonraĂ). Is Ă©ard is cĂșis leis an gceanglas seo nĂĄ an tasc a bhaineann le RBDanna glĂ©asta a dhĂshuiteĂĄil, nach n-oibreoidh atosĂș caighdeĂĄnach ina leith (dĂ©anfaidh sĂ© iarracht gan rath iad a dhĂshuiteĂĄil de ghnĂĄth).
TosaĂonn an amharclann le hanger, agus tosaĂonn an bhraisle Ceph le monatĂłirĂ. BreathnaĂmid orthu.
FeistĂonn Rook na haonĂĄin seo a leanas sa phod monatĂłireachta:
Volumes:
rook-ceph-config:
Type: ConfigMap (a volume populated by a ConfigMap)
Name: rook-ceph-config
rook-ceph-mons-keyring:
Type: Secret (a volume populated by a Secret)
SecretName: rook-ceph-mons-keyring
rook-ceph-log:
Type: HostPath (bare host directory volume)
Path: /var/lib/rook/kube-rook/log
ceph-daemon-data:
Type: HostPath (bare host directory volume)
Path: /var/lib/rook/mon-a/data
Mounts:
/etc/ceph from rook-ceph-config (ro)
/etc/ceph/keyring-store/ from rook-ceph-mons-keyring (ro)
/var/lib/ceph/mon/ceph-a from ceph-daemon-data (rw)
/var/log/ceph from rook-ceph-log (rw) A ligean ar a fheiceĂĄil cad atĂĄ rĂșnda rook-ceph-mons-keyring:
kind: Secret
data:
keyring: LongBase64EncodedString=DĂ©anaimid dĂchĂłdĂș agus faighimid fĂĄinne eochair rialta le cearta don riarthĂłir agus do mhonatĂłirĂ:
[mon.]
key = AQAhT19dlUz0LhBBINv5M5G4YyBswyU43RsLxA==
caps mon = "allow *"
[client.admin]
key = AQAhT19d9MMEMRGG+wxIwDqWO1aZiZGcGlSMKp==
caps mds = "allow *"
caps mon = "allow *"
caps osd = "allow *"
caps mgr = "allow *" CuimhnĂmis. Anois fĂ©achaimis ar an bhfĂĄinne eochair faoi rĂșn rook-ceph-admin-keyring:
kind: Secret
data:
keyring: anotherBase64EncodedString=Cad atĂĄ ann?
[client.admin]
key = AQAhT19d9MMEMRGG+wxIwDqWO1aZiZGcGlSMKp==
caps mds = "allow *"
caps mon = "allow *"
caps osd = "allow *"
caps mgr = "allow *" Mar an gcĂ©anna. A ligean ar a fheiceĂĄil nĂos mĂł... Anseo, mar shampla, tĂĄ rĂșn rook-ceph-mgr-a-keyring:
[mgr.a]
key = AQBZR19dbVeaIhBBXFYyxGyusGf8x1bNQunuew==
caps mon = "allow *"
caps mds = "allow *"
caps osd = "allow *" TĂĄ cĂșpla rĂșn eile le fĂĄil againn sa ConfigMap rook-ceph-mon:
kind: Secret
data:
admin-secret: AQAhT19d9MMEMRGG+wxIwDqWO1aZiZGcGlSMKp==
cluster-name: a3ViZS1yb29r
fsid: ZmZiYjliZDMtODRkOS00ZDk1LTczNTItYWY4MzZhOGJkNDJhCg==
mon-secret: AQAhT19dlUz0LhBBINv5M5G4YyBswyU43RsLxA==Agus is Ă© seo an liosta tosaigh le eochairfhĂĄinnĂ, as a dtagann na rĂșin go lĂ©ir a thuairiscĂtear thuas.
Mar is eol (fĂ©ach dataDirHostPath ĐČ ), StĂłrĂĄlann Rook sonraĂ den sĂłrt sin in dhĂĄ ĂĄit. DĂĄ bhrĂ sin, a ligean ar dul go dtĂ na nĂłid chun breathnĂș ar na heochracha atĂĄ suite sna heolairĂ atĂĄ suite i pods le monatĂłirĂ agus OSDs. Chun seo a dhĂ©anamh, feicimid ar na nĂłid /var/lib/rook/mon-a/data/keyring agus feicfimid:
# cat /var/lib/rook/mon-a/data/keyring
[mon.]
key = AXAbS19d8NNUXOBB+XyYwXqXI1asIzGcGlzMGg==
caps mon = "allow *"Go tobann anseo iompaigh an rĂșn amach a bheith difriĂșil - nĂ cosĂșil le ConfigMap's.
Cad mar gheall ar an eochairfhåinne admin? Tå sé againn freisin:
# cat /var/lib/rook/kube-rook/client.admin.keyring
[client.admin]
key = AXAbR19d8GGSMUBN+FyYwEqGI1aZizGcJlHMLgx=
caps mds = "allow *"
caps mon = "allow *"
caps osd = "allow *"
caps mgr = "allow *"Seo an ĂĄit a luĂonn an fhadhb. Tharla glitch de shaghas Ă©igin: rinneadh an bhraisle a athchruthĂș... ach i ndĂĄirĂre nĂ raibh.
ĂirĂonn sĂ© soilĂ©ir go bhfuil keyrings nua-ghinte a stĂłrĂĄil i rĂșin, agus tĂĄ siad aon ĂłnĂĄr sean-chnuasach. Sin Ă© an fĂĄth:
- tĂłg an fĂĄinne eochair as an monatĂłir as an gcomhad
/var/lib/rook/mon-a/data/keyring(nĂł Ăł chĂșltaca); - athraigh an fĂĄinne eochair faoi rĂșn
rook-ceph-mons-keyring; - clĂĄraigh an fĂĄinne eochrach Ăłn riarthĂłir agus Ăłn monatĂłireacht i ConfigMap
rook-ceph-mon; - bain rialaitheoirĂ pod le monatĂłirĂ.
NĂ bheidh an miracle fada le teacht: beidh na monatĂłirĂ le feiceĂĄil agus ag tosĂș. DĂ©an deifir, tĂĄ tĂșs curtha!
A ligean ar ais ar an OSD
A ligean ar dul go pod rook-operator: dĂșshlĂĄn ceph mon dump lĂ©irĂonn go bhfuil gach monatĂłir i bhfeidhm, agus ceph -s - go bhfuil siad i gcĂłram. Mar sin fĂ©in, mĂĄ fhĂ©achann tĂș ar an gcrann OSD (ceph osd tree), feicfimid rud Ă©igin aisteach ann: thosaigh OSDs le feiceĂĄil, ach tĂĄ siad folamh. TharlaĂonn sĂ© go raibh gĂĄ iad a chur ar ais ar bhealach Ă©igin freisin. Ach cĂ©n chaoi?
Idir an dĂĄ linn, tĂĄ na cinn a bhfuil an oiread sin de dhĂth orainn sna ConfigMaps anois rook-ceph-config Đž rook-config-override, chomh maith le go leor ConfigMaps eile le hainmneacha cosĂșil le rook-ceph-osd-$nodename-config. BreathnaĂmid orthu:
kind: ConfigMap
data:
osd-dirs: '{"/mnt/osd1":16,"/mnt/osd2":18}'TĂĄ gach rud mĂcheart, tĂĄ gach rud measctha suas!
Déanaimis na pods oibreora a scåla go nialas, scrios na pods Imlonnaithe ginte ón OSD agus socróimid na ConfigMaps seo. Ach cå håit é a fhåil? ceart Léarscåil OSD de réir nód?
- DĂ©anaimis iarracht tochailt isteach sna heolairĂ arĂs
/mnt/osd[1-2]ag na snaidhmeanna - le sĂșil go mbeimid in ann teacht ar rud Ă©igin ansin. - Sa chatalĂłg
/mnt/osd1tĂĄ 2 fhochomhadlann ann:osd0Đžosd16. Is Ă© an ceann deireanach go dĂreach an t-aitheantas atĂĄ lĂ©irithe i ConfigMap (16)? - DĂ©anaimis na mĂ©ideanna a sheiceĂĄil agus Ă© sin a fheiceĂĄil
osd0a lĂĄn nĂos mĂłosd16.
Tagann muid ar an tĂĄtal go bhfuil osd0 - is Ă© seo an OSD riachtanach, a lĂ©irĂodh mar /mnt/osd1 i ConfigMap (tar Ă©is an tsaoil, ĂșsĂĄidimid .)
Céim ar chéim déanaimid seiceåil ar gach nóid agus cuirimid ConfigMaps in eagar. Tar éis na treoracha go léir, is féidir leat an t-oibreoir pod Rook a sheoladh agus a logs a léamh. Agus tå gach rud mar gheall orthu iontach:
- Is oibreoir braisle mé;
- Fuair ââââmĂ© dioscaĂ ar na nĂłid;
- Fuair ââââmĂ© na monatĂłirĂ;
- dâĂ©irigh na monatĂłirĂ ina gcairde, i.e. dĂ©anta cĂłram;
- Seolaim imscaradh OSD...
Rachaimid isteach sa phod oibreora Rook arĂs agus seiceĂĄil ar bheocht an bhraisle... sea, bhĂomar beagĂĄn mĂcheart leis na conclĂșidĂ faoi na hainmneacha OSD ar roinnt nĂłid! Fadhb ar bith: cheartaigh muid na ConfigMaps arĂs, bhaineamar na heolairĂ neamhriachtanacha de na OSDanna nua agus thĂĄngamar ar an staid a rabhthas ag sĂșil leis le fada HEALTH_OK!
DĂ©anaimis na hĂomhĂĄnna sa linn a sheiceĂĄil:
# rbd ls -p kube
pvc-9cfa2a98-b878-437e-8d57-acb26c7118fb
pvc-9fcc4308-0343-434c-a65f-9fd181ab103e
pvc-a6466fea-bded-4ac7-8935-7c347cff0d43
pvc-b284d098-f0fc-420c-8ef1-7d60e330af67
pvc-b6d02124-143d-4ce3-810f-3326cfa180ae
pvc-c0800871-0749-40ab-8545-b900b83eeee9
pvc-c274dbe9-1566-4a33-bada-aabeb4c76c32
âŠTĂĄ gach rud i bhfeidhm - dĂ©antar an braisle a shĂĄbhĂĄil!
TĂĄ mĂ© leisciĂșil agus dĂ©an cĂșltacaĂ, nĂł bealach tapa
MĂĄ tĂĄ cĂșltacaĂ dĂ©anta do Rook, Ă©irĂonn an nĂłs imeachta aisghabhĂĄla i bhfad nĂos simplĂ agus gearrtar sĂos go dtĂ an mĂ©id seo a leanas:
- ScĂĄlaimid an t-oibreoir Rook imscaradh go nialas;
- Bainimid gach imscaradh ach amhĂĄin an t-oibreoir Rook;
- DĂ©anaimid gach rĂșn agus ConfigMaps a athshlĂĄnĂș Ăłn gcĂșltaca;
- AthchĂłiriĂș a dhĂ©anamh ar ĂĄbhar na n-eolaire
/var/lib/rook/mon-*ar nĂłid ; - DĂ©anaimid an CRD a aischur (mĂĄ chaill tĂș go tobann).
CephCluster,CephFilesystem,CephBlockPool,CephNFS,CephObjectStore; - DĂ©anaimis an t-oibreoir Rook imlonnaithe a laghdĂș go 1.
Leideanna ĂsĂĄideacha
DĂ©an cĂșltacaĂ!
Agus chun cĂĄsanna a sheachaint nuair is gĂĄ duit a chur ar ais uathu:
- Roimh obair ar scĂĄla mĂłr leis an mbraisle, a bhaineann le freastalaithe a atosĂș, dĂ©an an t-oibreoir Rook a scĂĄla go nialas ionas nach ndĂ©anann sĂ© rudaĂ gan ghĂĄ.
- Chuig na monatóirà roimh ré .
- Tabhair aird ar an réamh
ROOK_MON_HEALTHCHECK_INTERVALĐžROOK_MON_OUT_TIMEOUT.
In ionad a thabhairt i gcrĂch
NĂ fiĂș a mhaĂomh go ndĂ©anann Rook, toisc gur âcisealâ breise Ă© (sa scĂ©im fhoriomlĂĄn stĂłrĂĄla in Kubernetes) a shimpliĂș go mĂłr agus go gcuireann sĂ© castachtaĂ nua agus fadhbanna fĂ©ideartha sa bhonneagar. Is Ă© an t-aon rud atĂĄ fĂĄgtha le dĂ©anamh nĂĄ rogha chothrom, eolasach a dhĂ©anamh idir na rioscaĂ seo, ar thaobh amhĂĄin, agus na buntĂĄistĂ a bhaineann leis an gcinneadh i do chĂĄs ar leith, ar an taobh eile.
DĂĄla an scĂ©il, le dĂ©anaĂ sa doicimĂ©adĂș Rook alt âGlac braisle Rook Ceph atĂĄ ann cheana fĂ©in i mbraisle nua Kubernetesâ. DĂ©anann sĂ© cur sĂos nĂos mionsonraithe ar cad is gĂĄ a dhĂ©anamh chun na sonraĂ atĂĄ ann faoi lĂĄthair a aistriĂș chuig braisle nua Kubernetes nĂł chun oibriĂș braisle a thit amach ar chĂșis amhĂĄin nĂł ar chĂșis eile a athchĂłiriĂș.
PS
Léigh freisin ar år mblag:
- «";
- «";
- «'.
- «'.
Foinse: will.com
