Kubernetes

Kubernetes vodoravni automatski skaler

Kubernetes vodoravni automatski skaler
Podovi se mogu kreirati kao samostalni objekti ili kao dio skalabilnog kompleta replika ili postavljanja. Svaki od posljednja dva objekta koristi se za razmještanje ne samo jedne mahune, već mnoštvo njih. Cilj je ovdje da mahune mogu biti zamjenjive ako netko ima previše prometa, još dvije mogu se mrijestiti i preuzeti dodatni teret. Međutim, ovdje je važno napomenuti da i obje replike i objekti za postavljanje imaju teško kodiran broj replika mahuna koje namjeravaju pokrenuti.

Ako je broj replika postavljen na 100, a potražnja premala, čak i tada će 100 mahuna biti pokrenuto. To rezultira rasipanjem procesora i memorijskih resursa. Da, nudi pouzdanost, u smislu da ako čvor padne i mahune u njemu umru, kontroler Replica Set pokušat će vratiti broj mahuna na 100 mriješćenjem mahuna u drugim čvorovima. Aplikacija ostaje na mreži.

U apstraktnijem smislu, Set replika pokušao bi postići željeno stanje klastera i pogledao bi Trenutna država i shvatiti kako može postići željeno stanje.

Međutim, željeli bismo nešto malo osjetljivije na stvarnu potražnju. Unesi Vodoravni autoskaler pod. Posao Horizontal Pod Autoscalera je povećati aplikaciju kada za to postoji potreba, a zatim je smanjiti natrag kad pad opterećenja padne.

Zašto koristiti Horizontal Pod Autoscaler?

Kao što naziv sugerira, ova bi komponenta automatski skalirala vašu aplikaciju. U oblaku vam ovo stvarno može pomoći da smanjite računske i memorijske resurse koji će vam biti naplaćeni. Budući da je Autoscaler osjetljiv na iskorištavanje resursa, kada vidi da puno mahuna besposleno sjedi, smanjuje aplikaciju, a kada se povećava potražnja za tim mahunama, skalira aplikaciju stvaranjem novih mahuna i teret se raspoređuje na oni.

Može vam uštedjeti dragocjeno vrijeme i računske resurse. Nećete morati brinuti o tome koliki će biti broj replika za vaše mahune prilikom pisanja implementacije, autoskaler će to upravljati umjesto vas.

Početno postavljanje

Prvi i najvažniji zahtjev bio bi da imate pokrenutu Kubernetes klaster. Koristite Katacoda igralište koje je savršeno za eksperimentiranje i učenje o Kubernetesu. Sljedeće što biste trebali je metrički poslužitelj.

Ovaj dodatak vašem Kubernetesovom sustavu (prostor imena sistema kube) prikupit će mjerne podatke poput CPU-a i upotrebe memorije iz dvije različite perspektive:

  1. Resurs koji koristi svaka mahuna
  2. Resurs potrošen na svakom čvoru

Mjerni podaci iz obje perspektive presudni su u pomaganju Autoscaleru da odluči koji bi trebao biti sljedeći potez. Da biste dodali metrički poslužitelj u svoj Kubernetes klaster, slijedite ovaj vodič. Sada smo spremni vidjeti Horizontal Pod Autoscaler na djelu.

Korištenje Autoscalera

Da bismo vidjeli kako Autoscaler radi, potrebna nam je testna aplikacija. Stvorimo jednostavan php-apache poslužitelj i izložimo ga kao uslugu.

$ kubectl pokreni php-apache --image = k8s.gcr.io / hpa-primjer --requests = cpu = 200m --expose
--luka = ​​80

Ovdje korištena slika jedna je od primjera slika koje pruža projekt Kubernetes. Izvodi neke CPU intenzivne zadatke i čini postupak mnogo vidljivijim na taj način.

Da bismo autoskalirali ovu implementaciju, moramo obavijestiti autoskeler koliki je minimalni i maksimalni broj podsklopova koje ćemo dopustiti i postotak CPU-a koji smiju koristiti. Mnogo je više čimbenika koje možete uzeti u obzir poput memorije, pohrane i mreže.

$ kubectl autoscale implementacije / php-apache --cpu-postotak = 50 --min = 1 --max = 10

Budući da nitko ne koristi ovu uslugu, u trenutnom će stanju najviše voljeti ostati na minimalnoj vrijednosti. Možete provjeriti stanje sve autoskalirane implementacije u zadanom prostoru imena pokretanjem:

$ kubectl dobiti hpa
IME REFERENCE CILJEVI MINPODS MAXPODS REPLIKE DOBA
implementacija php-apache / php-apache 0% / 50% 1 10 1 2m

Generiranje opterećenja i testiranje značajke automatskog mjerenja

Možete vidjeti da je broj replika još uvijek samo jedan, a opterećenje procesora neznatno nisko. Možemo stvoriti dodatno opterećenje i vidjeti kako autoskeler odgovara na to. Usluga koja izlaže naše php-apache mahune nije izložena vanjskom svijetu, pa ćemo stvoriti privremenu mahunu i otvoriti interaktivnu sesiju ljuske u toj mahuni.

To će nam omogućiti komunikaciju sa svim uslugama dostupnim u klasteru, uključujući uslugu php-apache.

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

Primijetit ćete da će se upit promijeniti što znači da smo unutar ovog spremnika. Pokušajmo sada opteretiti našu uslugu opetovanim podnošenjem zahtjeva. U novom retku pokrenimo sljedeću petlju while:

/ # dok je istinito; učinite wget -q -O- http: // php-apache.zadano.svc.Klastera.lokalno; gotovo

Otvorite novi terminal, jer još uvijek ne možemo dopustiti da se ova petlja završi. Nakon pregleda autoskelera vidjet ćete iskorištenost CPU-a, a na popisu podova vidjet ćete da sada postoji više primjeraka php-apache poslužitelja,

$ kubectl dobiti hpa
IME REFERENCE CILJEVI MINPODS MAXPODS REPLIKE DOBA
php-apache Implementacija / php-apache 121% / 50% 1 10 4 1h
 
$ kubectl dobiti mahune
IME SPREMNI STATUS VRAĆA DOBU
busybox 1/1 Trčanje 0 6m
php-apache-8699449574-7qwxd 1/1 Trčanje 0 28s
php-apache-8699449574-c9v54 1/1 Trčanje 0 10h
php-apache-8699449574-h9s5f 1/1 Trčanje 0 28s
php-apache-8699449574-sg4hz 1/1 Trčanje 0 28s

Prekinite while petlju i broj mahuna smanjit će se na jedan za nekoliko minuta.

Zaključak

Dakle, to je jednostavna demonstracija Horizontal Pod Autoscalera. Ne zaboravite imati funkcionalni poslužitelj mjernih podataka za svoj klaster i tijekom stvaranja implementacije držite broj replika na 1. Za ostalo će se pobrinuti vodoravni autoskaler mahuna.

5 najboljih arkadnih igara za Linux
U današnje vrijeme računala su ozbiljni strojevi koji se koriste za igre na sreću. Ako ne uspijete dobiti novi visoki rezultat, znat ćete na što misli...
Bitka za Wesnoth 1.13.6 Razvoj objavljen
Bitka za Wesnoth 1.13.6 objavljeno prošlog mjeseca, šesto je razvojno izdanje u izdanju 1.13.x series i donosi niz poboljšanja, ponajviše korisničkog ...
Kako instalirati League Of Legends na Ubuntu 14.04
Ako ste ljubitelj League of Legends, ovo je prilika za vas da testirate League of Legends. Imajte na umu da je LOL podržan na PlayOnLinux ako ste kori...