Kukweza gulu la Kubernetes popanda kutsika

Kukweza gulu la Kubernetes popanda kutsika

Sinthani ndondomeko ya gulu lanu la Kubernetes

Panthawi ina, mukamagwiritsa ntchito gulu la Kubernetes, pamafunika kusintha ma node. Izi zitha kuphatikiza zosintha zamaphukusi, zosintha za kernel, kapena kutumiza zithunzi zatsopano zamakina. Mu terminology ya Kubernetes izi zimatchedwa "Kusokoneza Mwaufulu".

Izi ndi gawo lazolemba 4:

  1. Positi iyi.
  2. Kutseka koyenera kwa ma pod mu gulu la Kubernetes
  3. Kuchedwetsa kutha kwa poto ikachotsedwa
  4. Momwe Mungapewere Kubernetes Cluster Downtime Pogwiritsa Ntchito PodDisruptionBudgets

(pafupifupi. Yembekezerani kumasulira kwa nkhani zotsalazo posachedwa posachedwa)

M'nkhaniyi, tifotokoza zida zonse zomwe Kubernetes amapereka kuti akwaniritse zero nthawi yopumira ma node omwe akuyenda mgulu lanu.

Kufotokozera vuto

Tidzatenga njira yopanda nzeru poyamba, kuzindikira mavuto ndikuwunika kuopsa kwa njirayi, ndikupanga chidziwitso kuti tithane ndi vuto lililonse lomwe timakumana nalo panthawi yonseyi. Zotsatira zake ndikusintha komwe kumagwiritsa ntchito mbedza zamoyo, zowerengera zokonzekera, ndi bajeti zosokoneza za Pod kuti tikwaniritse nthawi yathu yopumira.

Kuti tiyambe ulendo wathu, tiyeni titenge chitsanzo chenicheni. Tiyerekeze kuti tili ndi gulu la Kubernetes la node ziwiri, momwe ntchito ikuyendera ndi ma pod awiri omwe ali kumbuyo. Service:

Kukweza gulu la Kubernetes popanda kutsika

Tiyeni tiyambe ndi ma pod awiri ndi Nginx ndi Service omwe akuyenda pamagulu athu awiri a Kubernetes.

Tikufuna kusintha mtundu wa kernel wa ma node awiri ogwira ntchito mgulu lathu. Kodi timachita bwanji izi? Yankho losavuta lingakhale kuyambitsa ma node atsopano ndi kasinthidwe kosinthidwa ndikutseka ma node akale ndikuyambitsa zatsopano. Ngakhale izi zitha kugwira ntchito, pakhala zovuta zingapo ndi njira iyi:

  • Mukathimitsa ma node akale, ma pods omwe akuthamanga pa iwo nawonso azimitsidwa. Nanga bwanji ngati makoko akufunika kuchotsedwa kuti atseke bwino? Dongosolo la Virtualization lomwe mukugwiritsa ntchito silingadikire kuti ntchito yoyeretsayo ithe.
  • Nanga bwanji ngati mutseka ma node onse nthawi imodzi? Mudzakhala ndi nthawi yabwino yopumula pomwe ma pod akusunthira kumalo atsopano.

Timafunikira njira yosinthira mwachisomo ma pod kuchokera kumalo akale ndikuwonetsetsa kuti palibe njira iliyonse yantchito yathu yomwe ikuyenda pomwe tikusintha ma node. Kapena tikasintha gulu lonselo, monga mu chitsanzo (ndiko kuti, timasintha zithunzi za VM), tikufuna kusamutsa mapulogalamu omwe akuyenda kuchokera ku mfundo zakale kupita ku zatsopano. Muzochitika zonsezi, tikufuna kuti tipewe ma pod atsopano kuti asamalowe m'malo akale, ndiyeno timachotsa ma pod onse omwe akuyenda. Kuti tikwaniritse zolingazi tikhoza kugwiritsa ntchito lamulo kubectl drain.

Kugawiranso ma pod onse kuchokera ku node

Ntchito yotsitsa imakulolani kuti mugawirenso ma pod onse kuchokera mu node. Pakukhetsa kukhetsa, node imalembedwa ngati yosasinthika (mbendera NoSchedule). Izi zimalepheretsa ma pod atsopano kuwonekera pamenepo. Kenako kukhetsa kumayamba kutulutsa ma pod mu node, kumatseka zotengera zomwe zikuyenda pa node, kutumiza chizindikiro. TERM zotengera mu poto.

Ngakhale kubectl drain idzachita ntchito yabwino yochotsa ma pods, pali zinthu zina ziwiri zomwe zingapangitse kuti ntchito yokhetsa isalephereke:

  • Ntchito yanu iyenera kuthetsedwa mwaulemu mukatumiza TERM chizindikiro. Ma pod akachotsedwa, Kubernetes amatumiza chizindikiro TERM zotengera ndikudikirira kuti ziyime kwa nthawi yodziwika, pambuyo pake, ngati sizinayime, zimawathetsa mokakamiza. Mulimonsemo, ngati chidebe chanu sichikuwona chizindikiro molondola, mutha kuzimitsa molakwika ngati zikuyenda (mwachitsanzo, ntchito ya database ikuchitika).
  • Mumataya ma pod onse omwe ali ndi pulogalamu yanu. Zitha kupezeka pamene zotengera zatsopano zakhazikitsidwa pa node zatsopano, kapena ngati ma pod anu atumizidwa popanda owongolera, sangayambenso.

Kupewa nthawi yopuma

Kuti muchepetse nthawi yopumira chifukwa chosokonekera mwakufuna kwanu, monga kukhetsa pa node, Kubernetes imapereka njira zotsatirazi zolephera:

M'magawo ena onse, tigwiritsa ntchito mawonekedwe a Kubernetes kuti tichepetse zovuta zakusamuka kwa pod. Kuti zikhale zosavuta kutsatira lingaliro lalikulu, tidzagwiritsa ntchito chitsanzo chathu pamwambapa ndi kasinthidwe kazinthu zotsatirazi:

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

Kukonzekera uku ndi chitsanzo chochepa Deployment, yomwe imayang'anira nginx pods m'gulu. Komanso, kasinthidwe akufotokoza gwero Service, yomwe ingagwiritsidwe ntchito kupeza ma nginx pods mumagulu.

Pakadutsa nthawi yonseyi, tidzakulitsa mobwerezabwereza kasinthidwe kameneka kotero kuti pamapeto pake iziphatikiza zonse zomwe Kubernetes amapereka kuti achepetse nthawi.

Kuti mupeze zosintha za gulu la Kubernetes zokhazikika komanso zoyesedwa za zero pa AWS ndi kupitilira apo, pitani Gruntwork.io.

Werenganinso zolemba zina pa blog yathu:

Source: www.habr.com

Kuwonjezera ndemanga