Ag ùrachadh buidheann Kubernetes gun ùine downt

Ag ùrachadh buidheann Kubernetes gun ùine downt

Pròiseas ùrachadh airson do bhuidheann Kubernetes

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:

  1. An dreuchd seo.
  2. Dùin pods gu ceart ann am buidheann Kubernetes
  3. Cuir dàil air crìoch a chur air pod nuair a thèid a sguabadh às
  4. 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:

Ag ùrachadh buidheann Kubernetes gun ùine downt

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:

---
apiVersion: apps/v1
kind: Deployment
metadata:
 name: nginx-deployment
 labels:
   app: nginx
spec:
 replicas: 2
 selector:
   matchLabels:
     app: nginx
 template:
   metadata:
     labels:
       app: nginx
   spec:
     containers:
     - name: nginx
       image: nginx:1.15
       ports:
       - containerPort: 80
---
kind: Service
apiVersion: v1
metadata:
 name: nginx-service
spec:
 selector:
   app: nginx
 ports:
 - protocol: TCP
   targetPort: 80
   port: 80

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.

Leugh cuideachd artaigilean eile air ar blog:

Source: www.habr.com

Cuir beachd ann