Kaip nustatyti Kubernetes tolerancijas

Kaip Nustatyti Kubernetes Tolerancijas



Šiandien mes mokomės apie toleranciją Kubernetes naudodami paprastus ir paprastus pavyzdžius. Šis straipsnis skirtas sužinoti pagrindinę Kubernetes tolerancijos koncepciją ir tai, kaip ją įdiegti Kubernetes, kad būtų galima planuoti ankštis. Kadangi tolerancija ir nešvarumai veikia kartu, trumpai aptarsime ir nešvarumus, kad suprastume visą „Kubernetes“ pažeidimo ir toleravimo sampratą. Pradėkime nuo pagrindinių nešvarumų ir tolerancijos apibrėžimų.

Kas yra Kubernetes tolerancijos ir trūkumai?

Kubernetes toleravimas ir sugadinimas naudojami siekiant užtikrinti, kad ankštys būtų įdėtos į tinkamą mazgą. Tolerancija apibrėžta ankšties specifikacijoje, o nešvarumai – mazgo specifikacijoje. Kai taikote ankšties toleranciją, tai leidžia planuokliui suplanuoti ankštis konkrečiame mazge. Tačiau nešvarumai veikia priešingai nei toleruojama. Tai leidžia mazgui atmesti jame suplanuotas ankštis. Ankštis leidžiama planuoti mazge tik tuo atveju, jei joms taikomos tolerancijos ir atitinkamos dėmės.

„Kubernetes“ veikia su ankštimis, klasteriais, mazgais, įvykiais ir tt Kai kuriais atvejais, norint valdyti šiuos dalykus, „Kubernetes“ reikia tolerancijos ir nešvarumų. Tolerancija yra planavimo proceso įgyvendinimas. Ankštys turi būti suplanuotos taip, kad jos tinkamai veiktų ir prireikus turėtų pakankamai išteklių savo veiklai atlikti. Ankštarams taikomos tolerancijos, kad jos netrukdytų ar netrikdytų dirbant.







„Kubernetes“ nešvarumai įgalina anketą atmesti ankšties planavimą. Jis taikomas mazgui naudojant „NodeSpec“ mazgo specifikaciją. Planuotojas negali įdėti bloko mazgu, kuriame yra nešvarumų. Tačiau, jei reikia suplanuoti ankštis mazge, kuriame jau yra užterštumas, turite deklaruoti, kad jis toleruojamas.



„Kubernetes“ toleravimas leidžia planuoti bloką mazge, kuriame jau yra užterštumas. Ankšties tolerancija taikoma naudojant „PodSpec“ Pod specifikaciją. Kai taikote toleranciją ankštims su atitinkamu dėmiu, planuotojas gali lengvai suplanuoti ankštis konkrečiame mazge.



Dabar pateiksime scenarijų, padėsiantį suprasti, kaip Kubernetes podyje galite įdiegti toleranciją. Prieš pereidami prie įgyvendinimo skyriaus, įsitikinkite, kad atitinkate visus būtinus reikalavimus.





Būtina sąlyga:

Toliau pateikiami dalykai, kurių reikia norint įgyvendinti Kubernetes mazgo toleranciją:

  • Ubuntu 20.04 arba bet kuri kita naujausia bet kurios Linux sistemos versija
  • Minikube (naujausia versija)
  • Įdiegta virtuali mašina jūsų Linux / Unix sistemoje
  • Kubectl komandinės eilutės įrankis

Darydami prielaidą, kad jūsų sistema atitinka visus būtinųjų sąlygų poreikius, pradėkime nustatyti Kubernetes toleranciją.



1 veiksmas: paleiskite „Minikube“ terminalą

Pirmas dalykas, kurį turite padaryti, yra paleisti „minikube“ terminalą, kad galėtumėte naudoti „kubectl“ komandas „Kubernetes“ tolerancijai įgyvendinti mazge. Norėdami paleisti minikube, naudojama ši komanda:

> paleisti minikube

Vykdydami šią komandą savo terminale gausite šią išvestį:

2 veiksmas: gaukite aktyvių mazgų sąrašą

Dabar, kai pradėjome kurti minikube, mūsų sistema paruošta Kubernetes ankštims nustatyti toleranciją. Prieš nustatydami ankščių toleranciją, patikrinkime, kiek mazgų ir kokių mazgų jau turime. Norėdami tai padaryti, naudojame sekančią komandą:

> kubectl gauti mazgus -The =custom-columns=NodeName:.metadata.name,TaintKey:.spec.taints [ * ] .key,TaintValue:.spec.taints [ * ] .value,TaintEffect:.spec.taints [ * ] .efektas

Šioje instrukcijoje pateikiami visi mazgai, kuriuos sugadino numatytasis Kubernetes diegimas. Pirmiausia pažiūrėkime šios komandos išvestį. Tada aptariame mazgų sąrašą:

Kadangi nėra mazgų, kurie būtų sukurti ir sugadinti naudojant Kubernetes numatytąjį diegimą, ir mes taip pat specialiai nesukūrėme jokio mazgo, rezultatas yra . Iš ankstesnės išvesties matome, kad mazgo nėra. Taigi pirmiausia sukuriame mazgą, o tada nustatome toleranciją. Norėdami nustatyti „Kubernetes“ bloko toleranciją, pirmiausia turime įdiegti programą klasteryje. Kiti keli veiksmai parodo, kaip įdiegti programą klasteryje.

3 veiksmas: sukurkite vardų erdvę

Pirmiausia sukuriame vardų erdvę, kad galėtume įdiegti programą klasteryje. Čia mes sukuriame programą su „frontend“ reikšme naudodami šią komandą:

> kubectl sukurti ns sąsają

Ši komanda sukuria vardų erdvę, turinčią „frontend“ reikšmę. Žiūrėkite šią išvestį:

4 veiksmas: įdiekite „Nginx Pod“ vardų erdvėje

Dabar įdiekite „nginx pod“ vardų erdvėje, kurią ką tik sukūrėme. Mes naudojame šią komandą diegti nginx:

> kubectl run nginx – vaizdas =nginx – vardų erdvės sąsaja

Tai diegia programą klasteryje be toleravimo konfigūracijos programos diegimo specifikacijoje. Naudodami komandą kubectl, mes diegiame nginx pod vardų erdvės sąsajoje:

  Teksto aprašymas sukurtas automatiškai

5 veiksmas: gaukite ankščių sąrašą

Dabar patikrinkime sukurtas ankštis, kad pamatytume jų būsenas. Pateiktoje komandoje taip pat pateikiami visi ankštys ir jų būsenos:

> kubectl gauti ankštys -n frontend

Kadangi sukūrėme tik nginx, ši komanda turėtų nurodyti tą bloką su jo būsena. Žiūrėkite šią išvestį:

6 veiksmas: išanalizuokite „Kubernetes“ įvykius

Dabar išanalizuokime įvykius Kubernetes, kad galėtume atitinkamai nustatyti ankščių toleranciją. Norėdami gauti Kubernetes įvykių sąrašą, naudojame šią kubectl komandą:

> kubectl gauti įvykius -n frontend

Čia pateikiami visi įvykiai, susieti su pradine verte, kartu su jų savybėmis, tokiomis kaip tipas, priežastis, objektas ir pranešimas. Žiūrėkite pateiktą sąrašą šioje išvestyje:

  Teksto aprašymas sukurtas automatiškai

Kaip matote iš ankstesnės išvesties, nginx pod yra suplanuotas pagal tam tikrą toleranciją. Ypatybė „pranešimas“ rodo veiksmų, kurie atliekami proceso metu, sąrašą.

7 veiksmas: patikrinkite ankščių būseną

Paskutinis veiksmas yra dar kartą patikrinti anksčiau sukurtos grupės būseną, kad įsitikintume, jog ji sėkmingai suplanuota konkrečiame ir teisingame mazge. Norėdami tai padaryti, naudojame šią kubectl komandą:

> kubectl gauti ankštys -n frontend

Kaip matyti iš ankstesnės išvesties, blokui dabar leidžiama veikti sugadintame mazge, nes jam nustatyta tolerancija.

Išvada

Šiame vadove mes tyrinėjome nešvarumus ir toleravimą. Sužinojome apie pagrindinį nešvarumų veikimą ir toleravimą. Tada mes įgyvendinome toleranciją ant ankšties. Naudodamiesi paprastu pavyzdžiu, sužinojome, kaip nustatyti Kubernetes mazgo toleranciją.