Kubernetes vodič za početnike: osnove, značajke, Architektura

Prije nego što započnemo ovaj vodič za Kubernetes, naučimo:

Što je Kubernetes?

Kubernetes je sustav za upravljanje kontejnerima razvijen na Google platformi. Kubernetes pomaže u upravljanju kontejnerskim aplikacijama u različitim vrstama fizičkih, virtualnih i oblačnih okruženja. Google Kubernetes vrlo je fleksibilan kontejnerski alat za dosljednu isporuku složenih aplikacija koje se izvode na klasterima od stotina do tisuća pojedinačnih poslužitelja.

Zašto trebate kontejnere?

Današnji korisnici interneta nikad ne prihvaćaju prekid rada. Stoga programeri moraju pronaći metodu za održavanje i ažuriranje bez prekidanja svojih usluga.

Stoga je spremnik izolirano okruženje. Sadrži sve što je potrebno za rad aplikacije. Programeru olakšava uređivanje i implementaciju aplikacija. Štoviše, kontejnerizacija je postala preferirana metoda za pakiranje, implementaciju i ažuriranje web aplikacija.

Koje zadatke obavlja Kubernetes?

Kubernetes je Linux kernel koji se koristi za distribuirane sustave. Pomaže vam da apstrahirate temeljni hardver čvorova (poslužitelja) i nudi dosljedno sučelje za aplikacije koje troše zajednički skup resursa.

Zašto koristiti Kubernetes?

Kubernetes vam pomaže kontrolirati raspodjelu resursa i upravljanje prometom za aplikacije u oblaku i mikroservise. Također pomaže u pojednostavljenju različitih aspekata infrastruktura orijentiranih na usluge. Kubernetes vam omogućuje da osigurate gdje i kada se pokreću aplikacije u kontejnerima i pomaže vam da pronađete resurse i alate s kojima želite raditi.

Značajke Kubernetesa

Evo bitnih značajki Kubernetesa:

  • Automatizirano zakazivanje
  • Mogućnosti samoiscjeljivanja
  • Automatizirano uvođenje i vraćanje
  • Horizontalno skaliranje i balansiranje opterećenja
  • Nudi dosljednost okruženja za razvoj, testiranje i proizvodnju
  • Infrastruktura je labavo povezana sa svakom komponentom koja može djelovati kao zasebna jedinica
  • Omogućuje veću gustoću iskorištenja resursa
  • Nudi značajke spremne za poduzeća
  • Upravljanje usmjereno na aplikacije
  • Auto-skalabilna infrastruktura
  • Možete stvoriti predvidljivu infrastrukturu

Osnove Kubernetesa

U ovom vodiču za Kubernetes naučit ćemo neke važne osnove Kubernetesa:

  • Cluster

    To je skup hostova (poslužitelja) koji vam pomažu da agregirate njihove dostupne resurse. To uključuje ram, CPU, ram, disk i njihove uređaje u upotrebljiv skup.

  • Majstorski

    Master je zbirka komponenti koje čine upravljačku ploču Kubernetesa. Ove se komponente koriste za sve odluke klastera. To uključuje i planiranje i odgovaranje na događaje klastera.

  • Čvor

    To je jedno glavno računalo koje može raditi na fizičkom ili virtualni stroj. Čvor bi trebao pokretati kube-proxy, minikube i kubelet koji se smatraju dijelom klastera.

  • Prostor

    To je logičan klaster ili okruženje. To je široko korištena metoda koja se koristi za određivanje opsega pristupa ili dijeljenje klastera.

Kubernetes Architektura

Ispod je detaljan dijagram Kubernetes arhitekture:

Kubernetes Archidijagram strukture
Kubernetes Archidijagram strukture

Glavni čvor

Glavni čvor je prva i najvitalnija komponenta koja je odgovorna za upravljanje Kubernetes klasterom. To je ulazna točka za sve vrste administrativnih zadataka. U klasteru može postojati više od jednog glavnog čvora za provjeru tolerancije na pogreške.

Glavni čvor ima različite komponente kao što su API poslužitelj, upravitelj kontrolera, planer i ETCD. Da ih sve vidim.

API poslužitelj: API poslužitelj djeluje kao ulazna točka za sve REST naredbe koje se koriste za kontrolu klastera.

Raspored

Raspoređivač raspoređuje zadatke podređenom čvoru. Pohranjuje informacije o korištenju resursa za svaki slave čvor. Odgovoran je za raspodjelu radnog opterećenja.

Također vam pomaže da pratite kako se radno opterećenje koristi na čvorovima klastera. Pomaže vam da stavite radno opterećenje na resurse koji su dostupni i prihvatite radno opterećenje.

itd

etcd komponente pohranjuju detalje konfiguracije i wright vrijednosti. Komunicira s većinom komponenti za primanje naredbi i rad. Također upravlja mrežnim pravilima i aktivnostima prosljeđivanja portova.

Radnički/podređeni čvorovi

Radnički čvorovi još su jedna bitna komponenta koja sadrži sve potrebne usluge za upravljanje umrežavanjem između spremnika, komunikaciju s glavnim čvorom, što vam omogućuje dodjeljivanje resursa zakazanim spremnicima.

  • Kubelet: dobiva konfiguraciju Pod-a s API poslužitelja i osigurava da su opisani spremnici spremni i pokrenuti.
  • Docker spremnik: Lučki radnik spremnik radi na svakom od radnih čvorova, koji pokreću konfigurirane podove
  • Kube-proxy: Kube-proxy djeluje kao balanser opterećenja i mrežni proxy za izvođenje usluge na jednom radnom čvoru
  • Podovi: Pod je kombinacija jednog ili više spremnika koji se logično pokreću zajedno na čvorovima

Druge ključne terminologije

Replikacijski kontroleri

Replikacijski kontroler je objekt koji definira pod predložak. Također kontrolira parametre za vodoravno skaliranje identičnih replika Poda povećanjem ili smanjenjem broja pokrenutih kopija.

Setovi replikacije

Skupovi replikacije su interakcija na dizajnu kontrolera replikacije s fleksibilnošću u načinu na koji kontroler prepoznaje podove kojima treba upravljati. Zamjenjuje kontrolere replikacije zbog njihove veće mogućnosti odabira replikacije.

implementacija

Implementacija je uobičajeno radno opterećenje koje se može izravno kreirati i upravljati njime. Postavljanje koristi replikaciju postavljenu kao građevni blok koji dodaje značajku upravljanja životnim ciklusom.

Skupovi sa stanjem

Riječ je o specijaliziranoj kontroli mahuna koja nudi sređenost i jedinstvenost. Uglavnom se koristi za preciznu kontrolu, koja vam je posebno potrebna u vezi s redoslijedom implementacije, stabilnim umrežavanjem i trajnim podacima.

Daemon Setovi

Daemon skupovi su još jedan specijalizirani oblik pod kontrolera koji pokreće kopiju pod na svakom čvoru u klasteru. Ova vrsta kontrolera podova učinkovita je metoda za postavljanje podova koja vam omogućuje održavanje i nudi usluge za same čvorove.

Kubernetes protiv Docker Swarma

Evo važnih razlika između Kubernetes protiv Dockera.

Parametar Docker Roj Kubernetes
Skaliranje Nema automatskog skaliranja Automatsko skaliranje
Balansiranje opterećenja Omogućuje automatsko balansiranje opterećenja Ručno konfigurirajte svoje postavke uravnoteženja opterećenja
Dijeljenje volumena pohrane Dijeli volumene pohrane s bilo kojim drugim spremnikom Dijeli volumene pohrane između više spremnika unutar istog Poda
Korištenje alata za prijavu i praćenje Upotrijebite 3rd stranački alat kao što je ELK Omogućite ugrađeni alat za bilježenje i praćenje.
Montaža Jednostavno i brzo Komplicirano i dugotrajno
GUI GUI nije dostupan GUI je dostupan
skalabilnost Skaliranje je brže od K8S, ali snaga klastera nije tako robusna Skaliranje je sporo u usporedbi sa Swarmom, ali jamči jače stanje klastera Balansiranje opterećenja zahtijeva ručnu konfiguraciju usluge
Balansiranje opterećenja Pruža ugrađenu tehniku ​​balansiranja opterećenja Zakazivanje procesa za održavanje usluga tijekom ažuriranja
Ažuriranja i povrati Zapisivanje i praćenje volumena podataka Progresivna ažuriranja i praćenje ispravnosti usluge. Dijeli se samo sa spremnicima u istim Pod ugrađenim alatima za bilježenje i praćenje.

Prednosti Kubernetesa

  • Jednostavna organizacija usluge s kapsulama
  • Razvio ga je Google, koji na stol donosi godine dragocjenog iskustva u industriji
  • Najveća zajednica među alatima za orkestraciju spremnika
  • Nudi razne mogućnosti pohrane, uključujući lokalne, SAN-ove i javne oblake
  • Pridržava se načela nepromjenjive infrastrukture
  • Kubernetes može pokrenuti lokalni bare metal, OpenStack, javne oblake Google, Azure, AWS, Itd
  • Pomaže vam da izbjegnete probleme sa zaključavanjem dobavljača jer može koristiti bilo koji API ili usluge specifične za dobavljača osim tamo gdje Kubernetes pruža apstrakciju, npr. balansiranje opterećenja i pohranu.
  • Kontejnerizacija pomoću kubernetesa omogućuje paketnom softveru da služi ovim ciljevima. Omogućit će aplikacije koje je potrebno izdati i ažurirati bez zastoja.
  • Kubernetes vam omogućuje da osigurate da se te aplikacije u kontejnerima izvode gdje i kada želite i pomaže vam da pronađete resurse i alate za koje želite da rade.

Nedostaci Kubernetesa

  • Kubenetes nadzorna ploča nije toliko korisna koliko bi trebala biti
  • Kubernetes je malo kompliciran i nepotreban u okruženjima gdje se sav razvoj odvija lokalno.
  • Sigurnost nije baš učinkovita.

Rezime

  • Kontejner pomaže organizaciji da izvrši održavanje i ažuriranje bez prekidanja usluga
  • Kubernetes je primjer sustava za upravljanje kontejnerima razvijenog na Google platformi.
  • Najveća prednost korištenja Kubernetesa je ta što može pokrenuti lokalni OpenStack, javne oblake Google, Azure, AWS itd.
  • Kubernetes nudi automatizirano planiranje i mogućnosti samoiscjeljivanja.
  • Cluster, master, čvor i imenski prostor važne su osnove kubernetesa
  • Glavni čvor i radni čvor važne su komponente Kubernetes arhitekture.
  • Kontrolori replikacije, skupovi replikacije, implementacije, skupovi stanja, skupovi demona drugi su važni pojmovi koji se koriste u Kubernetesu.
  • Docker swarm ne dopušta automatsko skaliranje dok Kubernetes dopušta automatsko skaliranje.
  • Najveći nedostatak Kubenetesa je to što njegova nadzorna ploča nije baš korisna i učinkovita

Sažmite ovu objavu uz: