Kubernetes vodič za početnike

⚡ Pametni sažetak

Kubernetes je sustav za upravljanje kontejnerima otvorenog koda koji je razvio Google koji automatizira implementaciju, skaliranje i rad kontejneriziranih aplikacija na klasterima fizičkih, virtualnih i cloud poslužitelja, nudeći samoobnavljanje, automatizirana implementacije, uravnoteženje opterećenja i konzistentna okruženja za pouzdanu isporuku aplikacija.

  • ☸️ Definicija Kubernetesa: Sustav za upravljanje kontejnerima otvorenog koda od Google za klasterirane aplikacije.
  • ???? Zašto kontejneri: Kontejneri pakiraju sve što je aplikaciji potrebno, omogućujući ažuriranja i održavanje bez zastoja.
  • Ključne značajke: Automatizirano raspoređivanje, samoobnavljanje, uvođenja/poništavanja, horizontalno skaliranje i uravnoteženje opterećenja.
  • 🧱 Ključne komponente: Cluster, glavni čvor (API poslužitelj, raspoređivač itd.), radni čvorovi i podovi.
  • 🆚 u odnosu na Docker Swarm: Kubernetes nudi automatsko skaliranje i ugrađeni nadzor; Swarm je jednostavniji i brži za instalaciju.
  • Prednosti i nedostaci: Radi na bilo kojem oblaku s velikom zajednicom, ali ima složenu nadzornu ploču i postavke.

Kubernetes vodič za početnike

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

Što je Kubernetes?

Kubernetes je sustav za upravljanje kontejnerima razvijen na Google platforma. Kubernetes pomaže u upravljanju kontejneriziranim aplikacijama u raznim vrstama fizičkih, virtualnih i oblačnih okruženja. Google Kubernetes je vrlo fleksibilan alat za kontejnere koji dosljedno isporučuje složene aplikacije 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 budete precizni.tractemeljni hardver čvorova (poslužitelja) i nudi konzistentno 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čki klaster ili okruženje. To je široko korištena metoda koja se koristi za scoping pristup 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 track kako se radno opterećenje koristi na čvorovima klastera. Pomaže vam da rasporedite 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
  • Razvija ga Google, koji donose godine vrijednog 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 izbjeći probleme s zaključavanjem dobavljača jer može koristiti bilo koje API-je ili usluge specifične za dobavljača, osim tamo gdje Kubernetes pruža abstraccija, npr. uravnoteživač opterećenja i pohrana.
  • 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.

Pitanja i odgovori

Pod je najmanja jedinica za raspoređivanje u Kubernetes-u. Grupira jedan ili više kontejnera koji dijele pohranu, mrežu i specifikaciju za način pokretanja, a raspoređeni su zajedno na čvoru.

Docker je okruženje za izvođenje kontejnera koje gradi i pokreće kontejnere, dok je Kubernetes orkestracijski sustav koji upravlja, skalira i raspoređuje kontejnere u klasterima. Često se koriste zajedno.

Da. Kubernetes je otvorenog koda i besplatan pod licencom Apache 2.0. Međutim, njegovo pokretanje na upravljanim uslugama u oblaku kao što su GKE, EKS ili AKS može uključivati ​​troškove infrastrukture i usluga.

Umjetna inteligencija pomaže Kubernetes-u predviđanjem potreba za resursima, automatskim skaliranjem opterećenja, otkrivanjem anomalija i optimizacijom raspoređivanja. AIOps alati analiziraju metrike i zapisnike klastera kako bi poboljšali pouzdanost i smanjili ručne operacije.

Da. AI asistenti mogu generirati YAML manifeste, rješavati probleme s neuspjelim podovima, preporučiti odgovarajuću veličinu i objasniti događaje klastera, pomoćiping timovi učinkovitije upravljaju Kubernetesom uz manje ručnog napora.

Sažmite ovu objavu uz: