Kubernetes

Kubernetes horisontaalne kauna automaatse skaleerija

Kubernetes horisontaalne kauna automaatse skaleerija
Kaunad saab luua eraldiseisvate objektidena või skaleeritava koopiakomplekti või juurutamise osana. Kõiki kahte viimast objekti kasutatakse mitte ainult ühe kausta, vaid ka paljude nende paigutamiseks. Eesmärk on see, et kaunad võivad olla asendatavad, kui ühel on liiga palju liiklust, veel kaks võivad kudeda ja võtta lisakoormuse. Siinkohal on oluline märkida, et nii koopiate komplektil kui ka juurutusobjektidel on kõvasti kodeeritud arv pod-koopiaid, mida nad kavatsevad käivitada.

Kui koopiate arv on seatud 100-le ja nõudlust on liiga vähe, on ka siis 100 kauna töökorras. Selle tulemuseks on protsessori ja mäluressursside raiskamine. Jah, see pakub usaldusväärsust selles mõttes, et kui sõlm kukub kokku ja selles olevad kaunad surevad, püüaks Replica Set'i kontroller tuua kaunade arvu tagasi 100-ni, kudedes kaunad teistes sõlmedes. Rakendus jääb võrku.

Abstraktsemas mõttes prooviks Replica Set saavutada a soovitud olek klastri osa ja vaataks seda hetkeseis ja mõtle välja, kuidas see võib saavutada soovitud seisundi.

Soovime siiski midagi, mis on reaalses maailmas nõudluse suhtes veidi tundlikum. Sisenema Horisontaalne Pod Autoscaler. Horizontal Pod Autoscaleri ülesandeks on vajadusel rakendust suuremaks muuta ja siis, kui töökoormus langeb, tagasi alla skaleerida.

Miks kasutada horisontaalset Pod Autoscalerit?

Nagu nimigi ütleb, laiendaks see komponent teie rakendust automaatselt. Pilves aitab see tõesti vähendada arvutus- ja mäluressursse, mille eest teile arveid esitatakse. Kuna Autoscaler on ressursside kasutamise suhtes tundlik, siis kui ta näeb, et paljud kaunad lihtsalt istuvad tühikäigul, siis vähendab rakendus rakendust ja kui nende kaunade nõudlus suureneb, siis suurendatakse rakendust uute kaunade loomisega ja koormus jaotub need.

See võib säästa nii väärtuslikku aega kui ka ressursse arvutada. Juurutuse kirjutamisel ei pea te muretsema selle pärast, milline peaks olema teie kaunade koopiate arv, autoscaler haldaks seda teie eest.

Esmane seadistamine

Kõigepealt peaksite töötava Kubernetese klastri olemasolu nõudma. Kasutage Katacoda mänguväljakut, mis sobib ideaalselt katsetamiseks ja Kubernetesega tutvumiseks. Järgmine asi, mida vajate, on meetriline server.

See Kubernetes-süsteemi lisandmoodul (kube-süsteemi nimeruum) koguks selliseid mõõdikuid nagu protsessori ja mälukasutus kahest erinevast vaatenurgast:

  1. Iga podi kasutatav ressurss
  2. Igas sõlmes kulutatud ressurss

Mõlemad vaatenurgad on üliolulised, et aidata Autoscaleril otsustada, milline peaks olema selle järgmine käik. Mõõdikuserveri lisamiseks Kubernetese klastrisse järgige seda juhendit. Nüüd oleme valmis nägema Horisontaalset Pod Autoscalerit töös.

Autoskaleri kasutamine

Autoscaleri töötamise nägemiseks vajame testrakendust. Loome lihtsa php-apache serveri ja paljastame selle teenusena.

$ kubectl käivitab php-apache --image = k8s.gcr.io / hpa-näide - taotlused = cpu = 200m - eksponeerida
--port = 80

Siin kasutatud pilt on üks Kubernetes projekti pakutavatest näidispildidest. See täidab mõningaid protsessori intensiivseid ülesandeid ja muudab protsessi seda tehes palju ilmsemaks.

Selle juurutamise automaatse skaala määramiseks peame automaatse skaleerijale teatama, milline on minimaalne ja maksimaalne lubatavate kaadrite arv ja protsessori protsent, mida neil on lubatud kasutada. Samuti võite kaaluda palju muid tegureid, näiteks mälu, salvestusruum ja võrk.

$ kubectl automaatse skaala juurutamine / php-apache --cpu-percent = 50 --min = 1 --max = 10

Kuna keegi seda teenust ei tarbi, meeldib see praeguses olekus kõige madalamal tasemel püsida. Kõigi automaatselt skaleeritud juurutuste olekut saab kontrollida vaikenimeruumis, käivitades:

$ kubectl saada hpa
NIMI VÕRDLUSSUURID MINPODID MAXPODS REPLICAS VANUS
php-apache juurutamine / php-apache 0% / 50% 1 10 1 2m

Koormuse genereerimine ja automaatse skaala funktsiooni testimine

Näete, et koopiate arv on endiselt ainult üks ja protsessori koormus on ebaoluliselt väike. Saame luua täiendavat koormust ja vaadata, kuidas autoskaler sellele reageerib. Teenus, mis paljastab meie php-apache kaunad, pole välismaailmaga kokku puutunud, seega loome ajutise podi ja avame selles podis interaktiivse shelliseansi.

See võimaldab meil suhelda kõigi klastris saadaolevate teenustega, sealhulgas teenusega php-apache.

$ kubectl run -i --tty busybox --image = busybox --restart = Never - sh
/ #

Märkate, et viip muutub, mis näitab, et oleme selles konteineris. Proovime nüüd oma teenust koormata, esitades korduvalt taotlusi. Käivitame uues viites loopi ajal järgmise:

/ # tõsi; tee wget -q -O- http: // php-apache.vaikimisi.svc.klaster.kohalik; tehtud

Avage uus terminal, kuna me ei saa lasta sellel silmusel veel lõppeda. Autoskaleri kontrollimisel näete protsessori kasutamist ja kaunade loendamisel näete, et nüüd on mitu php-apache serveri eksemplari,

$ kubectl saada hpa
NIMI VÕRDLUSSUURID MINPODID MAXPODS REPLICAS VANUS
php-apache juurutamine / php-apache 121% / 50% 1 10 4 1h
 
$ kubectl saavad kaunad
NIMI VALMIS STATUS TAASALUSTAB VANUSE
busybox 1/1 Jooksmine 0 6m
php-apache-8699449574-7qwxd 1/1 töötab 0 28s
php-apache-8699449574-c9v54 1/1 töötab 0 10h
php-apache-8699449574-h9s5f 1/1 töötab 0 28s
php-apache-8699449574-sg4hz 1/1 töötab 0 28s

Lõpeta while-silmus ja kaunade arv väheneb mõne minutiga üheni.

Järeldus

Nii et see on horisontaalse Pod Autoscaleri lihtne demonstreerimine. Ärge unustage, et klastri jaoks peaks olema funktsionaalne mõõdikute server ja juurutamise loomisel hoidke koopiate arvu 1. Ülejäänu eest hoolitseb horisontaalne kauna autoskaler.

Kuidas muuta hiirekursori ja kursori suurust, värvi ja skeemi Windows 10-s
Windows 10 hiirekursor ja kursor on operatsioonisüsteemi väga olulised aspektid. Seda võib öelda ka teiste opsüsteemide kohta, nii et tegelikult pole ...
Tasuta ja avatud lähtekoodiga mängumootorid Linuxi mängude arendamiseks
See artikkel hõlmab loetelu tasuta ja avatud lähtekoodiga mängumootoritest, mida saab kasutada 2D- ja 3D-mängude arendamiseks Linuxis. Selliseid mängu...
Tomb Raider for Linuxi õpetus
Shadow of the Tomb Raider on kaheteistkümnes täiendus seeria Tomb Raider - tegevus- ja seiklusmängude frantsiisile, mille on loonud Eidos Montreal. Ni...