Kukwidziridza Kubernetes Cluster Pasina Nguva Yekuzorora

Kukwidziridza Kubernetes Cluster Pasina Nguva Yekuzorora

Simudzira maitiro eKubernetes cluster yako

Pane imwe nguva, kana uchishandisa Kubernetes cluster, pane chinodiwa chekuvandudza kumhanya node. Izvi zvinogona kusanganisira zvigadziriso zvepakeji, kernel inogadziridza, kana kutumira kwemifananidzo mitsva yemuchina. MuKubernetes terminology iyi inonzi "Voluntary Disruption".

Ichi chinyorwa chikamu che 4-post series:

  1. Ichi chinyorwa.
  2. Kuvhara chaiko kwemapods muKubernetes cluster
  3. Kunonoka kupera kwepodhi kana yadzimwa
  4. Maitiro ekudzivisa Kubernetes Cluster Downtime Uchishandisa PodDisruptionBudgets

(inenge. Tarisira kushandurwa kwezvinyorwa zvasara munhevedzano munguva pfupi iri kutevera)

Muchinyorwa chino, isu tichatsanangura ese maturusi anopihwa naKubernetes kuti awane zero kudzika nguva yemanodhi ari kumhanya musumbu rako.

Kutsanangura dambudziko

Isu tichatora nzira yekusaziva pakutanga, kuona matambudziko uye kuongorora njodzi dzinogona kuitika dzeiyi nzira, uye kuvaka ruzivo rwekugadzirisa rimwe nerimwe rematambudziko atinosangana nawo mukati mekutenderera. Mhedzisiro iyi gadziriso inoshandisa lifecycle hooks, kugadzirira probes, uye Pod kukanganisa mabhajeti kuti tiwane zero yedu yekudzika nguva chinangwa.

Kuti titange rwendo rwedu, ngatitorei muenzaniso chaiwo. Ngatiti isu tine Kubernetes cluster yemanode maviri, umo application iri kushanda nemapodhi maviri ari kumashure. Service:

Kukwidziridza Kubernetes Cluster Pasina Nguva Yekuzorora

Ngatitangei nemapodhi maviri neNginx uye Sevhisi inomhanya pane edu maviri Kubernetes cluster node.

Isu tinoda kugadzirisa iyo kernel vhezheni yevashandi vaviri node musumbu redu. Tinozviita sei izvi? Mhinduro yakapusa ingave yekubhuya node nyowani neyakagadziridzwa gadziriso uye wobva wavhara manodhi ekare uchitanga matsva. Kunyange izvi zvichishanda, pachava nematambudziko mashoma neiyi nzira:

  • Paunodzima node dzekare, mapodhi ari paari anodzimwawo. Ko kana mapodhi achida kucheneswa kuti avhare zvine nyasha? Iyo virtualization system yauri kushandisa inogona kusamirira kuti chirongwa chekuchenesa chipere.
  • Ko kana ukadzima node dzese panguva imwe chete? Iwe uchawana yakadzikama yekudzikira apo mapodhi anoenda kune nyowani node.

Isu tinoda nzira yekutamisa nenyasha mapodhi kubva kune ekare node tichiona kuti hapana yevashandi vedu maitiro ari kushanda isu tichichinja kune node. Kana isu patinoita kutsiva kwakazara kwesumbu, semuenzaniso (kureva, isu tinotsiva VM mifananidzo), isu tinoda kuendesa inomhanya maapplication kubva kune yekare node kuenda kune itsva. Muzviitiko zvese izvi, tinoda kudzivirira mapodhi matsva kubva pakurongeka pamanodhi akare, uye tozobvisa ese anomhanya mapodhi kubva kwavari. Kuzadzisa zvinangwa izvi tinogona kushandisa murairo kubectl drain.

Kugoverazve mapodhi ese kubva pane node

Kushanda kwedrain kunokubvumira kuti ugovere mapodhi ese kubva pane node. Munguva yekudonhedza mvura, iyo node inotaridzwa seisingagadzirike (mureza NoSchedule) Izvi zvinodzivirira mapodhi matsva kubva pakuonekwa pairi. Ipapo kudonhedza kunotanga kudzinga mapodhi kubva kunode, kuvharira midziyo irikumhanya pane node, kutumira chiratidzo. TERM midziyo mune pod.

Kunyange zvakadaro kubectl drain ichaita basa guru rekudzinga mapods, pane zvimwe zvinhu zviviri zvinogona kuita kuti basa rekudhira rikundike:

  • Chikumbiro chako chinofanira kukwanisa kupera nenyasha paunotumira TERM chiratidzo. Kana mapodhi adzingwa, Kubernetes anotumira chiratidzo TERM midziyo uye inomirira kuti imire kwenguva yakatarwa, mushure mokunge, kana isina kumira, inoimisa nechisimba. Chero zvazvingaitika, kana mudziyo wako usingaone chiratidzo nenzira kwayo, unogona kudzima mapodhi zvisizvo kana ari kushanda izvozvi (semuenzaniso, dhatabhesi dhizaini iri kuitika).
  • Iwe unorasikirwa nemapodhi ese ane application yako. Inogona kunge isingawanikwe kana midziyo mitsva yatangwa pane nyowani nyowani, kana mapodhi ako akaiswa pasina vatongi, anogona kusatangazve.

Kudzivisa kunonoka

Kuti uderedze nguva yekudzikira kubva mukuvhiringwa kwekuzvidira, senge kubva mukudhiraivha pane node, Kubernetes inopa zvinotevera kutadza kubata sarudzo:

Mune mamwe ese akateedzana, isu tichashandisa aya maKubernetes maficha kudzikisira kukanganisa kwekutama kwepod. Kuita kuti zvive nyore kutevedzera pfungwa huru, isu tichashandisa muenzaniso wedu uri pamusoro neinotevera masisitimu ekugadzirisa:

---
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

Iyi gadziriso muenzaniso mudiki Deployment, iyo inobata nginx pods musumbu. Mukuwedzera, iyo gadziriso inotsanangura sosi Service, iyo inogona kushandiswa kuwana nginx pods musumbu.

Mukufamba kwese, isu tichawedzera kuwedzera iyi gadziriso kuitira kuti inozopedzisira yasanganisira zvese zvinopihwa naKubernetes kuderedza nguva.

Kuti uwane yakazadzikiswa uye yakaedzwa vhezheni yeKubernetes cluster inogadziridza zero downtime paAWS uye nekumwe, shanya. Gruntwork.io.

Verengawo zvimwe zvinyorwa pane yedu blog:

Source: www.habr.com

Voeg