Kubernetes

Kaj je Kubernetes?

Kaj je Kubernetes?

Kaj je Kubernetes? In kakšna je njegova arhitektura?

Kontejnerizacija je prekinila kabel med razvijalci programske opreme in produkcijskim okoljem. Ne v smislu, da proizvodnega sistema sploh ne potrebujete, vendar vam ni treba skrbeti za specifičnost proizvodnega okolja.

Aplikacije so zdaj povezane z odvisnostmi, ki jih potrebujejo, v lahkem vsebniku namesto v VM. To je super! Vendar ne zagotavlja odpornosti na sistemske okvare, omrežne okvare ali okvare diska. Če je na primer v obdelavi podatkovni center, v katerem delujejo vaši strežniki, bo vaša aplikacija izključena.

Za reševanje teh problemov nastopi Kubernetes. Idejo o vsebnikih je treba razširiti tako, da deluje na več računskih vozliščih (ki so lahko virtualni stroj v gostu v oblaku ali strežniki brez kovin). Ideja je, da bi imeli razdeljeni sistem, v katerem bi se izvajale kontejnerske aplikacije.

Zakaj Kubernetes?

Zakaj bi sploh morali imeti razdeljeno okolje??

Iz več razlogov je v prvi vrsti visoka razpoložljivost. Če želite, da vaše spletno mesto za e-poslovanje ostane na spletu 24 ur na dan, 7 dni v tednu ali pa boste izgubili posel, za to uporabite Kubernetes. Drugič je razširljivost, kjer želite povečati "out". Skaliranje tukaj vključuje dodajanje več računskih vozlišč, da bo vaša rastoča aplikacija imela več prostora za noge.

Oblikovanje in arhitektura

Kot vsak porazdeljeni sistem ima tudi gruča Kubernetes glavno vozlišče in nato veliko delovnih vozlišč, kjer bi se vaše aplikacije dejansko izvajale. Glavni mojster je odgovoren za razporejanje nalog, upravljanje delovnih obremenitev in varno dodajanje novih vozlišč v gručo.

Zdaj seveda lahko glavno vozlišče samo odpove in s seboj vzame celo gručo, zato vam Kubernetes dejansko omogoča več glavnih vozlišč zaradi odvečnosti.

Pogled iz ptičje perspektive na tipično postavitev Kubernetesa

Mojster Kubernetes

Mojster Kubernetes je tisto, s čimer skupina DevOps komunicira in uporablja za zagotavljanje novih vozlišč, uvajanje novih aplikacij ter spremljanje in upravljanje virov. Najosnovnejša naloga glavnega vozlišča je urnik učinkovito obremenitev med vsemi vozlišči delavcev, da se čim bolj izkoristijo viri, izboljša zmogljivost in upoštevajo različni pravilniki, ki jih je skupina DevOps izbrala za svojo posebno obremenitev.

Druga pomembna komponenta je itdd ki je demon, ki spremlja vozlišča delavcev in hrani bazo podatkov, ki hrani celotno stanje gruče. To je shramba podatkov ključ-vrednost, ki se lahko izvaja tudi v porazdeljenem okolju v več glavnih vozliščih. Vsebina etcd vsebuje vse ustrezne podatke o celotni gruči. Delovno vozlišče bi občasno pogledalo vsebino etcd, da bi ugotovilo, kako naj se obnaša.

Krmilnik je entiteta, ki bi sprejemala navodila s strežnika API (ki jih bomo obravnavali kasneje) in izvajala potrebna dejanja, kot so ustvarjanje, brisanje in posodabljanje aplikacij in paketov.

The API strežnik izpostavlja API Kubernetes, ki uporablja tovor JSON prek HTTPS, da komunicira z uporabniškim vmesnikom, s katerim bi sčasoma na koncu razvile ekipe razvijalcev ali osebje DevOps. Tako spletni uporabniški vmesnik kot tudi CLI uporabljata ta API za interakcijo z gručo Kubernetes.

Strežnik API je odgovoren tudi za komunikacijo med delovnimi vozlišči in različnimi komponentami glavnega vozlišča, kot je etcd.

Glavno vozlišče ni nikoli izpostavljeno končnemu uporabniku, saj bi to ogrozilo varnost celotne gruče.

Kubernetesova vozlišča

Naprava (fizična ali navidezna) bi potrebovala nekaj pomembnih komponent, ki jih lahko, ko jih pravilno namestite in nastavite, nato spremenijo v strežnika Kubernetes.

Prva stvar, ki jo boste potrebovali, je izvajalno okolje vsebnika, kot je Docker, nameščen in zagnan na njem. Očitno bo odgovoren za predenje in upravljanje zabojnikov.

Skupaj z Dockerjem, potrebujemo tudi Kubelet demon. Komunicira z glavnimi vozlišči prek strežnika API in poizveduje po etcd ter vrne informacije o zdravju in uporabi za pods, ki se izvajajo na tem vozlišču.

Vendar so zabojniki sami po sebi precej omejeni, zato ima Kubernetes večjo abstrakcijo, zgrajeno na vrhu zbirke posod, znanih kot Stroki.

Zakaj bi prišli do strok?

Docker ima politiko izvajanja ene aplikacije na vsebnik. Pogosto opisan kot "En postopek na posodo" politike. To pomeni, da če potrebujete spletno mesto WordPress, vam priporočamo, da imate dva vsebnika, enega za zagon baze podatkov in drugega za spletni strežnik. Združevanje takšnih povezanih komponent aplikacije v pod zagotavlja, da kadar koli povečate velikost, medsebojno odvisna vsebnika vedno sobivata na istem vozlišču in se tako hitro in enostavno pogovarjata.

Stroki so temeljna enota namestitve v Kubernetesu. Ko povečate obseg, v gručo dodate več strokov. Vsak pod v notranjem omrežju grozda dobi svoj edinstven naslov IP.

Nazaj na Kubernetesov vozlišče

Zdaj lahko vozlišče zažene več pods in takih vozlišč je lahko veliko. Vse je v redu, dokler ne pomislite, da bi poskušali komunicirati z zunanjim svetom. Če imate preprosto spletno storitev, kako bi svoje ime domene usmerili na to zbirko pods z veliko naslovi IP?

Ne morete in vam ni treba! Kube-proxy je zadnji del sestavljanke, ki operaterjem omogoča, da določene stroke izpostavijo internetu. Na primer, vaš čelni konec je lahko javno dostopen in kube-proxy bi porazdelil promet med vsemi različnimi stroki, ki so odgovorne za gostovanje čelnega konca. Vendar vaše baze podatkov ni treba objaviti, kube-proxy pa bi omogočal samo interno komunikacijo za take obremenitve, povezane z zalednim delom.

Ali potrebujete vse to?

Če šele začnete kot ljubitelj ali študent, bi bila uporaba Kubernetesa za preprosto uporabo dejansko neučinkovita. Celotna rigmarola bi porabila več virov kot vaša dejanska aplikacija in dodala več zmede za enega posameznika.

Če pa boste sodelovali z veliko ekipo in svoje aplikacije uvedli za resno komercialno uporabo, je Kubernetes vreden dodatka. Lahko preprečite, da bi stvari postale kaotične. Naredite prostor za vzdrževanje brez izpadov. Nastavite čudovite pogoje za testiranje A / B in jih postopoma spreminjajte, ne da bi vnaprej porabili preveč za infrastrukturo.

Zaslonska sledilna ploščica in kazalec miške AppyMouse za tablične računalnike Windows
Uporabniki tabličnih računalnikov pogosto zgrešijo miškin kazalec, še posebej kadar običajno uporabljajo prenosne računalnike. Pametni telefoni in tab...
Srednji gumb miške ne deluje v sistemu Windows 10
The srednji gumb miške vam pomaga, da se pomikate po dolgih spletnih straneh in zaslonih z veliko podatkov. Če se to ustavi, boste na koncu uporabili ...
Kako spremeniti levi in ​​desni gumb miške na računalniku z operacijskim sistemom Windows 10
Povsem normalno je, da so vse naprave računalniške miške ergonomsko zasnovane za desničarje. Na voljo pa so miške, ki so posebej zasnovane za levičarj...