Haɓaka Ƙungiyar Kubernetes Ba tare da Lokaci ba

Haɓaka Ƙungiyar Kubernetes Ba tare da Lokaci ba

Haɓaka tsari don gungu na Kubernetes

A wani lokaci, lokacin amfani da gungu na Kubernetes, akwai buƙatar sabunta nodes masu gudana. Wannan na iya haɗawa da sabuntawar fakiti, sabuntawar kwaya, ko tura sabbin hotuna na injin kama-da-wane. A cikin kalmomin Kubernetes ana kiran wannan "Rushewar son rai".

Wannan sakon wani bangare ne na jerin sakonni 4:

  1. Wannan post.
  2. Daidaita kashe kwas ɗin a cikin gungu na Kubernetes
  3. Jinkirin ƙarewar kwasfa lokacin da aka goge shi
  4. Yadda ake Gujewa Kubernetes Cluster Downtime Amfani da Kudiddigar Kuɗi

(kimanin. Yi tsammanin fassarar sauran labaran da ke cikin jerin nan gaba kaɗan)

A cikin wannan labarin, za mu bayyana duk kayan aikin da Kubernetes ke bayarwa don cimma lokacin raguwar sifili don nodes da ke gudana a cikin tarin ku.

Bayyana matsalar

Za mu ɗauki hanya ta butulci da farko, mu gano matsaloli da kuma tantance yiwuwar haɗarin wannan hanya, da gina ilimi don magance kowace matsalolin da muke fuskanta a duk tsawon zagaye. Sakamakon shine saitin da ke amfani da ƙugiya na rayuwa, bincike na shirye-shirye, da kasafin kuɗi na rushewar Pod don cimma burin mu na raguwa.

Don fara tafiyarmu, bari mu ɗauki misali na musamman. Bari mu ce muna da gungu na Kubernetes na nodes biyu, wanda aikace-aikacen ke gudana tare da kwasfa biyu a baya. Service:

Haɓaka Ƙungiyar Kubernetes Ba tare da Lokaci ba

Bari mu fara da kwasfa biyu tare da Nginx da Sabis da ke gudana akan nodes ɗin gungu na Kubernetes guda biyu.

Muna son sabunta sigar kernel na nodes na ma'aikata biyu a cikin tarin mu. Ta yaya za mu yi wannan? Magani mai sauƙi zai kasance don tayar da sababbin nodes tare da sabuntawar sabuntawa sannan kuma rufe tsoffin nodes yayin farawa sababbi. Yayin da wannan zai yi aiki, za a sami wasu matsaloli tare da wannan hanyar:

  • Lokacin da kuka kashe tsoffin nodes, kwas ɗin da ke gudana akan su suma za a kashe su. Me zai faru idan ana buƙatar share kwas ɗin don rufewa mai kyau? Tsarin kama-da-wane da kuke amfani da shi bazai jira aikin tsaftacewa ya kammala ba.
  • Idan kun kashe duk nodes a lokaci guda fa? Za ku sami lokaci mai kyau yayin da kwas ɗin ke motsawa zuwa sababbin nodes.

Muna buƙatar hanyar da za mu yi ƙaura da kyautuka daga tsofaffin nodes yayin da muke tabbatar da cewa babu wani aikin ma'aikacin da ke gudana yayin da muke yin canje-canje ga kumburin. Ko kuma lokacin da muka yi cikakken maye gurbin cluster, kamar yadda a cikin misali (wato, muna maye gurbin hotunan VM), muna son canja wurin aikace-aikacen da ke gudana daga tsoffin nodes zuwa sababbi. A cikin duka biyun, muna son hana sabbin kwasfan fayiloli daga tsarawa akan tsoffin nodes, sannan kuma fitar da duk kwas ɗin da ke gudana daga gare su. Don cimma waɗannan manufofin za mu iya amfani da umarnin kubectl drain.

Sake rarraba duk fastoci daga kumburi

Aikin magudanar ruwa yana ba ku damar sake rarraba duk kwas ɗin daga kumburi. A lokacin aiwatar da magudanar ruwa, ana yiwa kumburin alama mara tsari (tuta NoSchedule). Wannan yana hana sabbin kwas ɗin su bayyana akan sa. Sannan magudanar ruwa ta fara fitar da kwas ɗin daga kumburin, ta rufe kwantenan da ke gudana a kan kumburin, aika da sigina. TERM kwantena a cikin kwasfa.

Ko da yake kubectl drain zai yi babban aiki na fitar da kwasfa, akwai wasu abubuwa guda biyu da za su iya haifar da aikin magudanar ruwa:

  • Dole ne aikace-aikacen ku ya iya ƙare da alheri bayan ƙaddamarwa TERM sigina. Lokacin da aka fitar da kwas ɗin, Kubernetes yana aika sigina TERM kwantena da jira su tsaya na wani ƙayyadadden lokaci, bayan haka, idan ba su tsaya ba, ya ƙare su da karfi. A kowane hali, idan kwandon ku bai fahimci siginar daidai ba, har yanzu kuna iya kashe kwas ɗin ba daidai ba idan suna gudana a halin yanzu (misali, ana ci gaba da musayar bayanai).
  • Kuna rasa duk kwas ɗin da ke ɗauke da aikace-aikacen ku. Maiyuwa ba zai samu lokacin da aka ƙaddamar da sabbin kwantena akan sabbin nodes ba, ko kuma idan an tura kwas ɗin ku ba tare da masu sarrafawa ba, ƙila ba za su sake farawa ba kwata-kwata.

Gujewa lokacin hutu

Don rage raguwa daga rushewar son rai, kamar daga aikin magudanar ruwa akan kumburi, Kubernetes yana ba da zaɓuɓɓukan sarrafa gazawar masu zuwa:

A cikin sauran jerin, za mu yi amfani da waɗannan fasalulluka na Kubernetes don rage tasirin ƙaura. Don sauƙaƙa bin babban ra'ayi, za mu yi amfani da misalinmu na sama tare da daidaitawar albarkatu mai zuwa:

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

Wannan daidaitawar ƙaramin misali ne Deployment, wanda ke sarrafa nginx pods a cikin tari. Bugu da kari, saitin ya bayyana albarkatun Service, wanda za a iya amfani da shi don samun damar nginx pods a cikin tari.

A duk lokacin zagayowar, za mu faɗaɗa wannan tsari akai-akai ta yadda a ƙarshe ya haɗa da duk damar da Kubernetes ke bayarwa don rage raguwar lokaci.

Don cikakken aiwatarwa da gwajin sigar sabuntawar tarin Kubernetes don lokacin raguwar sifili akan AWS da ƙari, ziyarci Gruntwork.io.

Hakanan karanta wasu labarai akan shafinmu:

source: www.habr.com

Add a comment