Ukuthuthukisa I-Kubernetes Cluster Ngaphandle Kwesikhathi Sokuphumula

Ukuthuthukisa I-Kubernetes Cluster Ngaphandle Kwesikhathi Sokuphumula

Thuthukisa inqubo yeqoqo lakho le-Kubernetes

Ngesinye isikhathi, lapho usebenzisa iqoqo le-Kubernetes, kunesidingo sokuvuselela ama-node asebenzayo. Lokhu kungase kuhlanganise izibuyekezo zephakheji, izibuyekezo ze-kernel, noma ukuthunyelwa kwezithombe ezintsha zemishini ebonakalayo. Ku-Kubernetes terminology lokhu kubizwa "Ukuphazamiseka ngokuzithandela".

Lokhu okuthunyelwe kuyingxenye yochungechunge lokuthunyelwe okungu-4:

  1. Lokhu okuthunyelwe.
  2. Ukuvalwa okulungile kwama-pods kuqoqo le-Kubernetes
  3. Ukunqanyulwa kwe-pod kubambezelekile uma isuswa
  4. Ungagwema Kanjani Isikhathi Sokuphumula Se-Kubernetes Cluster Usebenzisa I-PodDisruptionBudgets

(cishe. Lindela ukuhunyushwa kwama-athikili asele ochungechungeni maduze nje)

Kulesi sihloko, sizochaza wonke amathuluzi ahlinzekwa yi-Kubernetes ukuze sifinyelele isikhathi sokuphumula se-zero kumanodi asebenza kuqoqo lakho.

Incazelo Yenkinga

Sizothatha indlela engenangqondo ekuqaleni, sihlonze izinkinga futhi sihlole ubungozi obungaba khona bale ndlela, futhi sakhe ulwazi lokuxazulula inkinga ngayinye esihlangabezana nayo kuwo wonke umjikelezo. Umphumela uwukucushwa okusebenzisa izingwegwe zomjikelezo wempilo, ama-probes ukulungela, nesabelomali sokuphazamiseka kwe-Pod ukuze sifinyelele umgomo wethu wesikhathi sokuphumula onguziro.

Ukuze siqale uhambo lwethu, ake sithathe isibonelo esiphathekayo. Ake sithi sineqoqo le-Kubernetes lama-node amabili, lapho isicelo sisebenza nama-pods amabili atholakala ngemuva. Service:

Ukuthuthukisa I-Kubernetes Cluster Ngaphandle Kwesikhathi Sokuphumula

Ake siqale ngama-pods amabili nge-Nginx ne-Service esebenza kuma-cluster node ethu amabili e-Kubernetes.

Sifuna ukubuyekeza inguqulo ye-kernel yamanodi amabili ezisebenzi kuqoqo lethu. Sikwenza kanjani lokhu? Isixazululo esilula kungaba ukuqala ama-node amasha ngokucushwa okubuyekeziwe bese uvala ama-node amadala ngenkathi uqala amasha. Ngenkathi lokhu kuzosebenza, kuzoba nezinkinga ezimbalwa ngale ndlela:

  • Uma ucisha ama-node amadala, ama-pods agijima kuwo nawo azocishwa. Kuthiwani uma ama-pods edinga ukusulwa ukuze kuvalwe kahle? Isistimu ye-virtualization oyisebenzisayo ingase ingalindi ukuthi inqubo yokuhlanza iphele.
  • Kuthiwani uma uvala wonke ama-node ngesikhathi esisodwa? Uzothola isikhathi sokuphumula esihle ngenkathi ama-pods ethuthela ezindaweni ezintsha.

Sidinga indlela yokuthutha ngomusa ama-pod kusuka kumanodi amadala kuyilapho siqinisekisa ukuthi azikho izinqubo zethu zabasebenzi ezisebenzayo ngenkathi senza izinguquko endaweni. Noma uma senza ukushintshwa okuphelele kweqoqo, njengakusibonelo (okungukuthi, sishintsha izithombe ze-VM), sifuna ukudlulisa izinhlelo zokusebenza ezisebenzayo zisuka kumanodi amadala ziye kwezintsha. Kuzo zombili izimo, sifuna ukuvimbela ama-pods amasha ekuhleleni kumanodi amadala, bese sikhipha wonke ama-pods asebenzayo kuwo. Ukufeza lezi zinhloso singasebenzisa umyalo kubectl drain.

Ukusabalalisa kabusha wonke ama-pods kusuka ku-node

Ukusebenza kwe-drain kukuvumela ukuthi usabalalise kabusha wonke ama-pods kusuka ku-node. Ngesikhathi sokukhishwa kwe-drain, i-node imakwa njengengahleleki (ifulegi NoSchedule). Lokhu kuvimbela ama-pod amasha ukuthi angaveli kuyo. Khona-ke i-drain iqala ukukhipha ama-pods ku-node, ivala iziqukathi okwamanje ezisebenza ku-node, ithumela isignali. TERM iziqukathi kuphod.

Noma kunjalo kubectl drain izokwenza umsebenzi omuhle kakhulu wokuxosha ama-pods, kunezinye izici ezimbili ezingabangela ukuthi ukusebenza kwe-drain kuhluleke:

  • Isicelo sakho kufanele sikwazi ukunqanyulwa kahle lapho usithumela TERM isignali. Lapho ama-pods exoshwa, u-Kubernetes uthumela isignali TERM iziqukathi bese ilinda ukuthi ime isikhathi esithile esinqunyiwe, ngemva kwalokho, uma ingakami, iwaqeda ngenkani. Kunoma ikuphi, uma isiqukathi sakho singayiboni kahle isignali, usengakwazi ukucisha ama-pods ngokungalungile uma esebenza njengamanje (isibonelo, ukuthengiswa kwedathabhesi kuyaqhubeka).
  • Ulahlekelwa yiwo wonke ama-pods aqukethe uhlelo lwakho lokusebenza. Ingase ingatholakali lapho iziqukathi ezintsha zethulwa kumanodi amasha, noma uma ama-pods akho esetshenziswa ngaphandle kwezilawuli, angase angaqali kabusha nhlobo.

Ukugwema isikhathi sokuphumula

Ukuze unciphise isikhathi sokuphumula kusukela ekuphazamisekeni ngokuzithandela, njengokuphuma kokukhipha amanzi endaweni, i-Kubernetes inikeza izinketho ezilandelayo zokubamba ukwehluleka:

Kulolu chungechunge olusele, sizosebenzisa lezi zici ze-Kubernetes ukuze sinciphise umthelela wokufuduka kwe-pod. Ukwenza kube lula ukulandela umqondo oyinhloko, sizosebenzisa isibonelo sethu esingenhla ngokucushwa kwensiza elandelayo:

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

Lokhu kulungiselelwa kuyisibonelo esincane Deployment, ephatha ama-nginx pods kuqoqo. Ngaphezu kwalokho, ukucushwa kuchaza insiza Service, engasetshenziswa ukufinyelela i-nginx pods kuqoqo.

Kuwo wonke umjikelezo, sizokwandisa ngokuphindaphindiwe lokhu kulungiselelwa ukuze ekugcineni kufake wonke amakhono ahlinzekwa yi-Kubernetes ukuze kuncishiswe isikhathi sokuphumula.

Ukuze uthole inguqulo esetshenziswe ngokugcwele futhi evivinyiwe yezibuyekezo zeqoqo le-Kubernetes ukuze uthole isikhathi sokuphumula esingekho ku-AWS nangale kwalokho, vakashela I-Gruntwork.io.

Funda nezinye izindatshana kubhulogi yethu:

Source: www.habr.com

Engeza amazwana