Uasghrádú a dhéanamh ar bhraisle Kubernetes gan aga neamhfhónaimh

Uasghrádú a dhéanamh ar bhraisle Kubernetes gan aga neamhfhónaimh

Próiseas uasghrádaithe do bhraisle Kubernetes

Ag pointe éigin, agus braisle Kubernetes á úsáid agat, tá gá le nóid reatha a nuashonrú. D’fhéadfadh go n-áireofaí leis seo nuashonruithe pacáiste, nuashonruithe eithne, nó imscaradh íomhánna meaisíní fíorúla nua. I dtéarmaíocht Kubernetes a thugtar air seo "Idirbhriseadh Deonach".

Tá an postáil seo mar chuid de shraith 4 phostáil:

  1. An post seo.
  2. Múchadh ceart pods i mbraisle Kubernetes
  3. Cuireadh moill ar chríochnú pod nuair a scriostar é
  4. Conas Aga Aga Braisle Kubernetes a Sheachaint Ag Úsáid PodDisruptionBudgets

(thart ar. Bí ag súil le haistriúcháin ar na hailt atá fágtha sa tsraith go luath amach anseo)

San Airteagal seo, déanfaimid cur síos ar na huirlisí go léir a sholáthraíonn Kubernetes chun downtime nialasach a bhaint amach do na nóid atá ag rith i do bhraisle.

An fhadhb a shainiú

Glacfaimid cur chuige naive ar dtús, aithneoimid fadhbanna agus measúnóimid na rioscaí a d’fhéadfadh a bheith ag baint leis an gcur chuige seo, agus tógfaimid eolas chun gach ceann de na fadhbanna a bhíonn againn le linn an timthrialla a réiteach. Is é an toradh ná cumraíocht a úsáideann crúcaí saolré, tóireadóirí ullmhachta, agus buiséid cur isteach Pod chun ár sprioc aga nialais a bhaint amach.

Chun ár dturas a thosú, déanaimis sampla nithiúil a ghlacadh. Ligean le rá go bhfuil braisle Kubernetes againn de dhá nód, ina bhfuil feidhmchlár ag rith le dhá choda suite taobh thiar de Service:

Uasghrádú a dhéanamh ar bhraisle Kubernetes gan aga neamhfhónaimh

Let tús le dhá pods le Nginx agus Seirbhís ag rith ar ár dhá nóid braisle Kubernetes.

Ba mhaith linn an leagan eithne de dhá nód oibrithe inár mbraisle a nuashonrú. Conas a dhéanaimid é seo? Réiteach simplí a bheadh ​​ann ná nóid nua a thosú leis an gcumraíocht nuashonraithe agus ansin na seannóid a dhúnadh agus na cinn nua a thosú. Cé go n-oibreoidh sé seo, beidh roinnt fadhbanna leis an gcur chuige seo:

  • Nuair a mhúchann tú seannóid, múchfar na pods atá ag rith orthu freisin. Cad a tharlóidh má theastaíonn na pods a ghlanadh le haghaidh múchadh galánta? Seans nach mbeidh an córas fíorúlaithe atá á úsáid agat ag fanacht leis an bpróiseas glanta a chríochnú.
  • Cad a tharlaíonn má mhúchadh tú gach nóid ag an am céanna? Gheobhaidh tú aga neamhfhónaimh réasúnta agus na pods ag bogadh go nóid nua.

Teastaíonn bealach uainn chun pods a aistriú go galánta ó sheannóid agus ag an am céanna a chinntiú nach bhfuil aon cheann dár bpróisis oibrithe ar siúl agus muid ag déanamh athruithe ar an nód. Nó nuair a dhéanaimid athsholáthar iomlán ar an mbraisle, mar atá sa sampla (is é sin, cuirimid íomhánna VM in ionad), ba mhaith linn feidhmchláir reatha a aistriú ó sheannóid go cinn nua. Sa dá chás, ba mhaith linn pods nua a chosc ó bheith sceidealaithe ar sheannóid, agus ansin gach pods reatha a dhíshealbhú uathu. Chun na spriocanna seo a bhaint amach is féidir linn an t-ordú a úsáid kubectl drain.

Gach pods a athdháileadh ó nód

Ceadaíonn an oibríocht draein duit gach pods a athdháileadh ó nód. Le linn forghníomhú draein, tá an nód marcáilte mar neamhsceidealaithe (bratach NoSchedule). Cuireann sé seo cosc ​​ar phodaí nua a bheith le feiceáil air. Ansin tosaíonn an draein ar pods a dhíshealbhú ón nód, stopann sé na coimeádáin atá ag rith ar an nód faoi láthair trí chomhartha a sheoladh TERM coimeádáin sa phod.

Cé go kubectl drain Déanfaidh sé jab iontach chun pods a dhíshealbhú, tá dhá fhachtóir eile ann a d’fhéadfadh go dteipfeadh ar an oibríocht draein:

  • Ní mór go mbeifeá in ann deireadh a chur le d’iarratas go galánta nuair a chuirtear isteach é TERM comhartha. Nuair a dhíshealbhaítear pods, seolann Kubernetes comhartha TERM coimeádáin agus fanann siad chun stop a chur ar feadh méid sonraithe ama, agus ina dhiaidh sin, mura bhfuil siad stoptha, cuireann sé deireadh leo go héigeantach. In aon chás, mura bhfeiceann do choimeádán an comhartha i gceart, is féidir leat pods a mhúchadh go mícheart fós má tá siad ag rith faoi láthair (mar shampla, tá idirbheart bunachar sonraí ar siúl).
  • Cailleann tú na pods go léir a chuimsíonn d'iarratas. Seans nach mbeidh sé ar fáil nuair a sheoltar coimeádáin nua ar nóid nua, nó má imscartar do phodaí gan rialaitheoirí, ní fhéadfaidh siad a atosú ar chor ar bith.

Ag seachaint downtime

Chun aga neamhfhónaimh ó chur isteach deonach a íoslaghdú, mar shampla ó oibríocht draein ar nód, soláthraíonn Kubernetes na roghanna láimhseála teip seo a leanas:

Sa chuid eile den tsraith, úsáidfimid na gnéithe Kubernetes seo chun tionchar pods imirce a mhaolú. Chun é a dhéanamh níos fusa an príomhsmaoineamh a leanúint, úsáidfimid ár sampla thuas leis an gcumraíocht acmhainne seo 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

Is sampla íosta é an chumraíocht seo Deployment, a bhainistíonn pods nginx sa bhraisle. Ina theannta sin, cuireann an chumraíocht síos ar an acmhainn Service, ar féidir a úsáid chun rochtain a fháil ar pods nginx i mbraisle.

Le linn an timthrialla, leathnóimid an chumraíocht seo go atriallach ionas go n-áireofar leis sa deireadh na cumais go léir a sholáthraíonn Kubernetes chun aga neamhfhónaimh a laghdú.

Le haghaidh leagan lánfheidhmithe agus tástálaithe de nuashonruithe braisle Kubernetes le haghaidh downtime nialasach ar AWS agus níos faide anonn, tabhair cuairt gruntwork.io.

Léigh ailt eile ar ár mblag freisin:

Foinse: will.com

Add a comment