Aig àm air choreigin, nuair a bhios tu a ’cleachdadh cruinneachadh Kubernetes, feumar nodan ruith ùrachadh. Dh’ fhaodadh seo a bhith a’ toirt a-steach ùrachadh pacaid, ùrachaidhean kernel, no cleachdadh ìomhaighean inneal brìgheil ùra. Ann am briathrachas Kubernetes canar seo "Briseadh Saor-thoileach".
Tha an dreuchd seo mar phàirt de shreath 4-puist:
An dreuchd seo.
Dùin pods gu ceart ann am buidheann Kubernetes
Cuir dàil air crìoch a chur air pod nuair a thèid a sguabadh às
Mar a sheachlas tu ùine downt buidheann Kubernetes a’ cleachdadh PodDisruptionBudgets
(timcheall air. Bithear an dùil eadar-theangachaidhean de na h-artaigilean a tha air fhàgail san t-sreath a dh’ aithghearr)
San artaigil seo, bheir sinn cunntas air na h-innealan gu lèir a bheir Kubernetes seachad gus ùine downt neoni a choileanadh airson na nodan a tha a’ ruith sa bhuidheann agad.
Mìneachadh duilgheadas
Gabhaidh sinn dòigh-obrach naive an toiseach, comharraichidh sinn duilgheadasan agus nì sinn measadh air na cunnartan a dh’ fhaodadh a bhith aig an dòigh-obrach seo, agus togaidh sinn eòlas gus fuasgladh fhaighinn air gach aon de na duilgheadasan a choinnicheas sinn tron chuairt. Is e an toradh seo rèiteachadh a bhios a’ cleachdadh dubhan cuairt-beatha, probes ullachaidh, agus buidseatan aimhreit Pod gus ar n-amas downtime neoni a choileanadh.
Gus tòiseachadh air ar turas, gabhamaid eisimpleir concrait. Canaidh sinn gu bheil cruinneachadh Kubernetes de dhà nód againn, anns a bheil tagradh a’ ruith le dà shlat air a chùlaibh Service:
Feuch an tòisich sinn le dà chnap le Nginx agus Seirbheis a’ ruith air an dà nod cruinneachadh Kubernetes againn.
Tha sinn airson an dreach kernel de dhà nod luchd-obrach anns a’ bhuidheann againn ùrachadh. Ciamar a nì sinn seo? Is e fuasgladh sìmplidh a bhiodh ann nodan ùra a bhrùthadh leis an rèiteachadh ùraichte agus an uairsin na seann nodan a dhùnadh sìos fhad ‘s a thòisicheas iad air an fheadhainn ùra. Ged a bhios seo ag obair, bidh beagan dhuilgheadasan ann leis an dòigh-obrach seo:
Nuair a chuireas tu dheth seann nodan, thèid na pods a tha a’ ruith orra a chuir dheth cuideachd. Dè ma tha feum air na pods a ghlanadh airson dùnadh gràsmhor? Is dòcha nach bi an siostam virtualization a tha thu a 'cleachdadh a' feitheamh gus am bi am pròiseas glanaidh deiseil.
Dè ma chuireas tu dheth a h-uile nod aig an aon àm? Gheibh thu ùine downt reusanta fhad ‘s a ghluaiseas na pods gu nodan ùra.
Feumaidh sinn dòigh air pods a ghluasad gu gràsmhor bho sheann nodan fhad ‘s a nì sinn cinnteach nach eil gin de na pròiseasan obrach againn a’ ruith fhad ‘s a nì sinn atharrachaidhean air an nód. No nuair a nì sinn ath-nuadhachadh iomlan air a’ bhuidheann, mar a tha san eisimpleir (is e sin, bidh sinn a’ dol an àite ìomhaighean VM), tha sinn airson tagraidhean ruith a ghluasad bho sheann nodan gu feadhainn ùra. Anns gach suidheachadh, tha sinn airson casg a chuir air pods ùra bho bhith air an clàradh air seann nodan, agus an uairsin a h-uile pod ruith fhuadach bhuapa. Gus na h-amasan sin a choileanadh is urrainn dhuinn an àithne a chleachdadh kubectl drain.
Ag ath-sgaoileadh a h-uile pod bho nód
Leigidh an obair drèanaidh leat na pods uile ath-riarachadh bho nód. Nuair a thèid an drèanadh a chuir gu bàs, tha an nód air a chomharrachadh mar neo-chlàraichte (bratach NoSchedule). Tha seo a’ cur casg air pods ùra bho bhith a’ nochdadh air. An uairsin bidh drèanadh a ’tòiseachadh a’ fuadach pods bhon nód, a ’dùnadh sìos na soithichean a tha an-dràsta a’ ruith air an nód le bhith a ’cur comharra TERM soithichean anns a 'phoit.
Ged a tha kubectl drain nì e obair mhath le bhith a’ fuadach pods, tha dà fheart eile ann a dh’ adhbharaicheas obrachadh an drèana fàiligeadh:
Feumaidh an tagradh agad a bhith comasach air crìoch a chuir air gu gràsmhor nuair a thèid a chuir a-steach TERM comharradh. Nuair a thèid pods fhuadach, bidh Kubernetes a 'cur comharra TERM soithichean agus a’ feitheamh orra stad airson ùine shònraichte, agus às deidh sin, mura stad iad, bidh e gan toirt gu crìch gu làidir. Ann an suidheachadh sam bith, mura h-eil an soitheach agad a 'faicinn a' chomharra gu ceart, faodaidh tu fhathast na pods a chuir às gu ceàrr ma tha iad a 'ruith an-dràsta (mar eisimpleir, tha malairt stòr-dàta a' dol air adhart).
Bidh thu a’ call a h-uile pod anns a bheil an tagradh agad. Is dòcha nach bi e ri fhaighinn nuair a thèid soithichean ùra a chuir air bhog air nodan ùra, no ma thèid na pods agad a chuir a-steach às aonais luchd-riaghlaidh, is dòcha nach ath-thòiseachadh iad idir.
A 'seachnadh ùine downt
Gus an ùine downt bho bhuaireadh saor-thoileach a lughdachadh, leithid obair drèanaidh air nód, tha Kubernetes a’ toirt seachad na roghainnean làimhseachaidh fàilligeadh a leanas:
Anns a 'chòrr den t-sreath, cleachdaidh sinn na feartan Kubernetes sin gus buaidh pods imrich a lùghdachadh. Gus am bi e nas fhasa am prìomh bheachd a leantainn, cleachdaidh sinn an eisimpleir againn gu h-àrd leis an rèiteachadh ghoireasan a leanas:
Tha an rèiteachadh seo na dheagh eisimpleir Deployment, a bhios a’ riaghladh pods nginx anns a’ bhuidheann. A bharrachd air an sin, tha an rèiteachadh a’ toirt cunntas air a’ ghoireas Service, a ghabhas cleachdadh gus faighinn gu pods nginx ann am brabhsair.
Tron chearcall, leudaichidh sinn an rèiteachadh seo gu ath-aithriseach gus am bi e mu dheireadh a’ toirt a-steach na comasan a bheir Kubernetes seachad gus ùine downt a lughdachadh.
Airson dreach làn-ghnìomhach agus deuchainneach de ùrachaidhean brabhsair Kubernetes airson ùine downt neoni air AWS agus nas fhaide air falbh, tadhal air Obair grunt.io.