Matakai uku na Autoscaling a Kubernetes: Yadda Ake Amfani da su Yadda Ya kamata

Matakai uku na Autoscaling a Kubernetes: Yadda Ake Amfani da su Yadda Ya kamata
Don cikakken ƙware Kubernetes, kuna buƙatar sanin hanyoyi daban-daban don haɓaka albarkatun tari: ta bisa ga masu haɓaka tsarin, wannan yana daya daga cikin manyan ayyuka na Kubernetes. Mun bayar da babban bayyani na a kwance da kuma a tsaye autoscaling da cluster gyara hanyoyin, kazalika da shawarwari kan yadda za a yi amfani da su yadda ya kamata.

Labari Kubernetes Autoscaling 101: Cluster Autoscaler, Horizontal Autoscaler, and Vertical Pod Autoscaler ƙungiyar da ta aiwatar da autoscaling a cikin fassarar ta fassara Kubernetes aaS daga Mail.ru.

Me ya sa yake da mahimmanci a yi tunani game da ƙima

Kubernetes - kayan aiki don sarrafa albarkatu da ƙungiyar makaɗa. Tabbas, yana da kyau a tinker tare da kyawawan fasalulluka na turawa, saka idanu, da sarrafa kwasfa (kwas ɗin rukuni rukuni ne na kwantena waɗanda aka ƙaddamar don amsa buƙata).

Duk da haka, ya kamata ku kuma yi tunani game da tambayoyi masu zuwa:

  1. Yadda za a daidaita modules da aikace-aikace?
  2. Yadda za a kiyaye kwantena aiki da inganci?
  3. Yadda za a amsa canje-canje akai-akai a lamba da nauyin aiki daga masu amfani?

Daidaita gungu na Kubernetes don daidaita albarkatu da aiki na iya zama ƙalubale kuma yana buƙatar sanin ƙwararrun ayyukan cikin Kubernetes. Nauyin aikin aikace-aikacenku ko ayyukanku na iya canzawa cikin yini ko ma cikin sa'a guda, don haka daidaitawa shine mafi kyawun tunanin azaman tsari mai gudana.

Kubernetes autoscaling matakan

Ingantacciyar autoscaling tana buƙatar daidaitawa tsakanin matakai biyu:

  1. Matakan Pod, gami da kwance (Horizontal Pod Autoscaler, HPA) da autoscaler na tsaye (Vertical Pod Autoscaler, VPA). Wannan yana daidaita albarkatun da ake da su don kwantena.
  2. Matakin tari, wanda Cluster Autoscaler (CA) ke gudanarwa, wanda ke ƙaruwa ko rage yawan nodes a cikin tari.

Horizontal Autoscaler (HPA) module

Kamar yadda sunan ke nunawa, HPA tana ƙididdige adadin kwafin kwafi. Yawancin masu amfani suna amfani da CPU da nauyin ƙwaƙwalwar ajiya azaman abubuwan da ke haifar da canza adadin kwafi. Duk da haka, yana yiwuwa a daidaita tsarin bisa ga awo na al'ada, su haduwa ko ma ma'auni na waje.

Tsarin aiki na HPA mai girma:

  1. HPA ta ci gaba da bincika ma'aunin awo da aka ƙayyadad da su yayin shigarwa a tsayayyen tazarar daƙiƙa 30.
  2. HPA tana ƙoƙarin ƙara adadin samfura idan an kai ƙayyadaddun ƙofa.
  3. HPA tana sabunta adadin kwafi a cikin mai sarrafa turawa/mai maimaitawa.
  4. Mai sarrafa turawa/mai maimaitawa sannan yana tura kowane ƙarin kayan aiki masu mahimmanci.

Matakai uku na Autoscaling a Kubernetes: Yadda Ake Amfani da su Yadda Ya kamata
HPA yana fara aiwatar da tsarin aiki lokacin da aka kai madaidaicin ma'auni

Lokacin amfani da HPA, la'akari da waɗannan:

  • Tsohuwar tazarar rajistan HPA shine daƙiƙa 30. An kafa ta da tuta kwance-pod-autoscaler-sync-lokaci a cikin mai sarrafa manajan.
  • Kuskuren dangi na asali shine 10%.
  • Bayan haɓaka na ƙarshe a cikin adadin kayayyaki, HPA na tsammanin awo zai daidaita cikin mintuna uku. An saita wannan tazarar da tuta kwance-pod-autoscaler-upscale-delay.
  • Bayan raguwa na ƙarshe a cikin adadin kayayyaki, HPA yana jira na mintuna biyar don daidaitawa. An saita wannan tazarar da tuta kwance-pod-autoscaler-downscale-delay.
  • HPA yana aiki mafi kyau tare da abubuwan turawa maimakon masu sarrafa kwafi. A tsaye autoscaling bai dace da sabuntawar mirgina ba, wanda ke sarrafa masu sarrafa kwafi kai tsaye. Tare da turawa, adadin kwafi ya dogara kai tsaye akan abubuwan turawa.

A tsaye autoscaling na kwasfa

A tsaye autoscaling (VPA) yana keɓance ƙarin (ko ƙasa da haka) lokacin CPU ko ƙwaƙwalwar ajiya zuwa kwas ɗin da ke akwai. Ya dace da kwas ɗin jahohi ko marasa jiha, amma akasari an yi niyya don ayyuka na jiha. Koyaya, zaku iya amfani da VPA don ƙirar ƙasa idan kuna buƙatar daidaita adadin albarkatun da aka keɓe ta atomatik.

VPA kuma yana amsawa ga OOM (ba a ƙwaƙwalwar ajiya) abubuwan da suka faru. Canza lokacin CPU da ƙwaƙwalwar ajiya na buƙatar sake kunna kwas ɗin. Lokacin da aka sake kunnawa, VPA tana mutunta kasafin kasafi (kasafin kudin rarraba kwasfa, PDB) don tabbatar da mafi ƙarancin adadin da ake buƙata.

Kuna iya saita mafi ƙanƙanta da matsakaicin albarkatu don kowane tsari. Don haka, zaku iya iyakance iyakar adadin da aka keɓe wa ƙwaƙwalwar ajiya zuwa 8 GB. Wannan yana da amfani idan nodes na yanzu ba shakka ba zai iya ware fiye da 8 GB na ƙwaƙwalwar ajiya a kowace akwati ba. An bayyana cikakkun bayanai da tsarin aiki a ciki official VPA wiki.

Bugu da ƙari, VPA yana da aikin shawarwari mai ban sha'awa (VPA Recommender). Yana sa ido kan amfani da albarkatu da abubuwan OOM na duk samfuran don ba da shawarar sabon ƙwaƙwalwar ajiya da ƙimar lokacin CPU dangane da algorithm mai hankali dangane da ma'aunin tarihi. Hakanan akwai API ɗin da ke ɗaukar rikon kwas ɗin kuma yana dawo da ƙimar albarkatun da aka ba da shawarar.

Yana da kyau a lura cewa VPA Recommender baya bin hanyar "iyaka". Wannan na iya haifar da ƙayyadaddun kayan aiki a cikin nodes. Yana da kyau a saita iyaka a matakin sunan don guje wa babbar ƙwaƙwalwar ajiya ko yawan amfani da CPU.

Babban matakin aiki na VPA:

  1. VPA ta ci gaba da bincika ƙimar awo da aka ƙayyade yayin shigarwa a tazarar tsoho na 10 seconds.
  2. Idan aka kai ga ƙayyadadden ƙofa, VPA tana ƙoƙarin canza adadin albarkatun da aka keɓe.
  3. VPA tana sabunta adadin albarkatu a cikin mai sarrafa turawa/mai maimaitawa.
  4. Lokacin da aka sake kunna na'urori, duk sabbin albarkatu ana amfani da su zuwa abubuwan da aka ƙirƙira.

Matakai uku na Autoscaling a Kubernetes: Yadda Ake Amfani da su Yadda Ya kamata
VPA tana ƙara adadin albarkatun da ake buƙata

Da fatan za a kiyaye abubuwan da ke gaba yayin amfani da VPA:

  • Sikeli yana buƙatar sake kunnawa na tilas. Wannan wajibi ne don guje wa aiki mara ƙarfi bayan yin canje-canje. Don amintacce, ana sake kunna na'urori kuma ana rarraba su a ko'ina bisa ga sabbin albarkatu da aka ware.
  • VPA da HPA ba su dace da juna ba tukuna kuma ba za su iya aiki akan kwasfa ɗaya ba. Idan kuna amfani da hanyoyin sikeli guda biyu a gungu ɗaya, tabbatar da cewa saitunanku sun hana su kunna su akan abubuwa iri ɗaya.
  • VPA tana kunna buƙatun kwantena don albarkatu dangane da amfani da ya gabata da na yanzu. Ba ya saita iyakokin amfani da albarkatu. Za a iya samun matsaloli tare da aikace-aikacen da ba su aiki daidai kuma sun fara karɓar kayan aiki da yawa, wannan zai haifar da Kubernetes kashe wannan kwasfa.
  • VPA har yanzu yana kan matakin farko na ci gaba. Yi shiri cewa tsarin na iya fuskantar wasu canje-canje nan gaba kadan. Kuna iya karantawa game da iyakokin da aka sani и tsare-tsaren ci gaba. Don haka, akwai shirye-shirye don aiwatar da aikin haɗin gwiwa na VPA da HPA, da kuma ƙaddamar da kayayyaki tare da manufar daidaitawa ta atomatik a gare su (misali, lakabi na musamman 'yana buƙatar VPA').

Autoscaling na Kubernetes cluster

Cluster Autoscaler (CA) yana canza adadin nodes dangane da adadin kwas ɗin jira. Tsarin lokaci-lokaci yana bincika samfuran masu jiran aiki - kuma yana ƙara girman gungu idan ana buƙatar ƙarin albarkatu kuma idan tarin bai wuce ƙayyadaddun iyaka ba. CA yana sadarwa tare da mai ba da sabis na gajimare, yana buƙatar ƙarin nodes daga gare ta, ko ya sake waɗanda ba su da aiki. An gabatar da sigar CA ta farko gabaɗaya a cikin Kubernetes 1.8.

Babban tsarin aikin SA:

  1. CA tana bincika samfuran da ke jiran aiki a tsohowar tazarar daƙiƙa 10.
  2. Idan ɗaya ko fiye da kwas ɗin suna cikin yanayin jiran aiki saboda tarin ba shi da isassun kayan aiki don ware su, yana ƙoƙarin samar da ƙarin nodes ɗaya ko fiye.
  3. Lokacin da mai ba da sabis na gajimare ya keɓance kumburin da ake buƙata, ya haɗa tari kuma yana shirye don hidimar kwas ɗin.
  4. Mai tsara tsarin Kubernetes yana rarraba kwas ɗin da ke jira zuwa sabon kumburi. Idan bayan wannan har yanzu wasu na'urori sun kasance a cikin yanayin jira, ana maimaita tsarin kuma ana ƙara sabbin nodes zuwa gungu.

Matakai uku na Autoscaling a Kubernetes: Yadda Ake Amfani da su Yadda Ya kamata
Samar da nodes ta atomatik ta atomatik a cikin gajimare

Yi la'akari da waɗannan lokacin amfani da CA:

  • CA yana tabbatar da cewa duk kwas ɗin da ke cikin gungu suna da wurin da za su gudana, ba tare da la'akari da nauyin CPU ba. Hakanan yana ƙoƙarin tabbatar da cewa babu kuɗaɗe marasa amfani a cikin tari.
  • CA yana yin rajistar buƙatar ma'auni bayan kusan 30 seconds.
  • Da zarar an daina buƙatar kumburi, CA ta ƙi yin jira na mintuna 10 kafin ta fitar da tsarin.
  • Tsarin autoscaling yana da ra'ayi na fadadawa. Waɗannan dabaru ne daban-daban don zaɓar ƙungiyar nodes waɗanda za a ƙara sabbin nodes zuwa gare su.
  • Yi amfani da zaɓin cikin gaskiya cluster-autoscaler.kubernetes.io/safe-to-evict (gaskiya). Idan kun shigar da kwasfa masu yawa, ko kuma idan yawancin su sun warwatse a duk kuɗaɗen, za ku rasa ikon fitar da tari.
  • Amfani Kudiddigar Kuɗidon hana gogewa, wanda zai iya sa sassan aikace-aikacenku su karye gaba ɗaya.

Yadda Kubernetes autoscalers ke hulɗa da juna

Don cikakkiyar jituwa, yakamata a yi amfani da autoscaling a duka matakin kwafsa (HPA/VPA) da matakin tari. Suna hulɗa da juna a sauƙaƙe:

  1. HPAs ko VPAs suna sabunta kwafin kwafi ko albarkatun da aka keɓe ga kwas ɗin da ke akwai.
  2. Idan babu isassun nodes don sikelin da aka tsara, CA yana lura da kasancewar kwasfa a cikin yanayin jira.
  3. CA tana ware sabbin nodes.
  4. Modules suna rarraba zuwa sababbin nodes.

Matakai uku na Autoscaling a Kubernetes: Yadda Ake Amfani da su Yadda Ya kamata
Haɗin gwiwa Kubernetes tsarin sikelin-fita

Kubernetes autoscaling

Akwai matsalolin gama gari da yawa waɗanda ke shiga cikin lokacin ƙoƙarin aiwatar da autoscaling.

HPA da VPA sun dogara da awo da wasu bayanan tarihi. Idan an kasafta isassun albarkatu, za a rage girman tsarin kuma ba za su iya samar da awo ba. A wannan yanayin, autoscaling ba zai taba faruwa ba.

Ayyukan sikelin da kansa yana da mahimmancin lokaci. Muna son samfura da tari su daidaita cikin sauri - kafin masu amfani su lura da kowace matsala ko gazawa. Don haka, ya kamata a yi la'akari da matsakaicin lokaci don ƙwanƙwasa kwasfa da tari.

Kyakkyawan yanayin - Minti 4:

  1. 30 seconds. Sabunta ma'aunin manufa: 30-60 seconds.
  2. 30 seconds. HPA yana duba ƙimar awo: 30 seconds.
  3. Kasa da daƙiƙa 2. Ana ƙirƙira faifai kuma shiga cikin yanayin jira: 1 seconds.
  4. Kasa da daƙiƙa 2. CA yana ganin samfuran jira kuma yana aika kira zuwa kuɗaɗen tanadi: 1 seconds.
  5. Minti 3. Mai ba da girgije yana rarraba nodes. K8s yana jira har sai sun shirya: har zuwa mintuna 10 (ya danganta da dalilai da yawa).

Mafi munin yanayi (mafi haƙiƙa) labari - mintuna 12:

  1. 30 seconds. Sabunta ma'aunin manufa.
  2. 30 seconds. HPA tana duba ƙimar awo.
  3. Kasa da daƙiƙa 2. Ana ƙirƙira kwas ɗin kuma shigar da yanayin jiran aiki.
  4. Kasa da daƙiƙa 2. CA yana ganin samfuran jira kuma yayi kira don samar da nodes.
  5. Minti 10. Mai ba da girgije yana rarraba nodes. K8s suna jira har sai sun shirya. Lokacin jira ya dogara da abubuwa da yawa, kamar jinkirin mai siyarwa, jinkirin OS, da kayan aikin tallafi.

Kar a rikita hanyoyin samar da girgije tare da CA namu. Ƙarshen yana gudana cikin gungu na Kubernetes, yayin da injin samar da girgije ke aiki akan tushen rarraba kumburi. Ba ya san abin da ke faruwa tare da kwas ɗin ku ko aikace-aikacenku. Waɗannan tsarin suna aiki a layi daya.

Yadda ake sarrafa sikelin a Kubernetes

  1. Kubernetes kayan aiki ne na sarrafa albarkatu da kayan aiki. Ayyuka don sarrafa kwasfa da albarkatu masu tarin yawa muhimmin ci gaba ne a ƙwarewar Kubernetes.
  2. Fahimtar dabaru na scalability na kwandon la'akari da HPA da VPA.
  3. CA yakamata a yi amfani da shi kawai idan kuna da kyakkyawar fahimtar buƙatun kwas ɗin ku da kwantena.
  4. Don ingantaccen tsarin tari, kuna buƙatar fahimtar yadda tsarin sikeli daban-daban ke aiki tare.
  5. Lokacin ƙididdige lokacin ƙididdigewa, kiyaye mafi munin yanayi da mafi kyawun al'amura a zuciya.

source: www.habr.com

Add a comment