Kubernetesova vadnica - celovit vodnik za Kubernetes



Ta blog o vadnici Kubernetes vas bo s praktičnimi navodili popeljal skozi vse koncepte sistema orkestracije zabojnikov.

Kubernetes je platforma, ki odpravlja ročne procese, povezane z uvajanjem kontejnerskih aplikacij. V tem blogu o Vadnici za Kubernetes boste prebrali vse koncepte, povezane s to rešitvijo za upravljanje več vsebnikov.

V tej vadnici bodo obravnavane naslednje teme:





Zdaj, preden grem naprej v tem blogu, naj vas na hitro seznanim s kontejnerizacijo.

Torej, preden so zabojniki začeli obstajati, so razvijalci in preizkuševalci med seboj vedno imeli težave. To se je običajno zgodilo, ker tisto, kar je delovalo na strani razvijalca, ne bi delovalo na strani preizkušanja. Oba sta obstajala v različnih okoljih. Da bi se izognili takim scenarijem, so bili uvedeni zabojniki, tako da so bili razvijalci in preizkuševalci na isti strani.



Težava je bila tudi pri ravnanju z velikim številom zabojnikov. Včasih se je med zagonom zabojnikov na strani izdelka sprožilo le nekaj vprašanj, ki pa niso bila prisotna v fazi razvoja. Tovrstni scenariji so uvedli sistem orkestracije vsebnikov.

Preden se poglobim v sistem orkestracije, naj na hitro naštejem izzive, s katerimi se sooča brez tega sistema.



Kubernetesova vadnica: Izzivi brez orkestracije kontejnerjev

Izzivi brez orkestracije kontejnerjev - Vadnica Kubernetes - Edureka

Kot lahko vidite na zgornjem diagramu, ko se znotraj zabojnikov izvaja več storitev, boste morda želeli te zabojnike prilagoditi. V velikih panogah je to res težko narediti. To pa zato, ker bi to povečalo stroške vzdrževanja storitev in zapletenost njihovega vodenja.

Da bi se izognili ročni nastavitvi storitev in premagali izzive, je bilo treba nekaj velikega. Tu nastopi Container Orchestration Engine.

Ta motor nam omogoča, da organiziramo več zabojnikov, tako da se vsi osnovni stroji zaženejo, zabojniki so zdravi in ​​razdeljeni v gručastem okolju. V današnjem svetu obstajata v glavnem dva taka motorja: Guvernerji & Docker Swarm .

Kubernetesova vadnica: Kubernetes proti Docker Swarm

Guvernerji in Docker Swarm so vodilna orodja za orkestriranje zabojnikov na današnjem trgu. Torej, preden jih uporabite v izdelku, morate vedeti, kaj točno so in kako delujejo.

Nadalje se bom v blogu poglobil v Kubernetes, a če želite izvedeti več o Dockerju, lahko kliknete .

Kot se lahko sklicujete na zgornjo sliko, ima Kubernetes v primerjavi z Docker Swarmom veliko aktivno skupnost in omogoča samodejno spreminjanje velikosti v številnih organizacijah. Podobno ima Docker Swarm enostaven zagon v primerjavi s Kubernetesom, vendar je omejen na zmožnosti API-ja Docker.

No, ljudje, to niso edine razlike med temi vrhunskimi orodji. Če želite izvedeti podrobne razlike med obema orodjema za orkestracijo vsebnikov, lahko kliknete

Vas zanima več o Kubernetesu?

Če bi lahko izbiral med obema, bi to moral biti Kubernetes, saj je treba za naloge, kot so razporejanje, uravnoteženje tovora in distribucija, zabojnike upravljati in povezati z zunanjim svetom.

Ampak, če logično razmišljate, bi Docker Swarm ponudil boljšo možnost, saj deluje na vrhu Dockerja, kajne? Na vašem mestu bi se zagotovo zmedel, katero orodje uporabiti. Hej, Kubernetes je nesporni vodja na trgu in deluje tudi na vrhu Dockerjevih zabojnikov z boljšimi funkcionalnostmi.

kaj je spremenljivo in nespremenljivo

Zdaj, ko ste razumeli potrebo po Kubernetesu, vam povem pravi čas Kaj je Kubernetes?

Kubernetesova vadnica: Kaj je Kubernetes?

je odprtokodna sistem, ki obravnava delo načrtovanja vsebnikov na računski gruči in upravlja delovne obremenitve, da zagotovi, da se izvajajo, kot uporabnik namerava. Kot Googlova zamisel ponuja odlično skupnost in odlično sodeluje z vsemi ponudniki oblakov, da postane rešitev za upravljanje več zabojnikov.

Kubernetesova vadnica: Značilnosti Kubernetes

Značilnosti Kubernetesa so naslednje:

  • Avtomatizirano razporejanje: Kubernetes ponuja napredno načrtovalnik za zagon vsebnika na vozliščih grozda na podlagi njihovih potreb po virih in drugih omejitev, pri tem pa ne žrtvuje razpoložljivosti.
  • Sposobnosti samozdravljenja: Kubernetes omogoča zamenjavo in prerazporeditev vsebnikov, ko vozlišča odmrejo. Prav tako ubije posode, ki se ne odzovejo na uporabniško določen zdravstveni pregled, in jih ne oglašuje strankam, dokler niso pripravljene za vročanje.
  • Avtomatizirana uvajanja in vračila: Kubernetes uvede spremembe aplikacije ali njene konfiguracije, hkrati pa spremlja zdravje aplikacije, da zagotovi, da ne uniči vseh primerkov hkrati. Če gre kaj narobe, lahko s Kubernetesom spremembo povrnete nazaj.
  • Horizontalno skaliranje in uravnoteženje obremenitve: Kubernetes lahko z enostavnim ukazom, z uporabniškim vmesnikom ali samodejno na podlagi uporabe procesorja poveča aplikacijo v skladu z zahtevami.

Kubernetesova vadnica: Kubernetesova arhitektura

Kubernetes Architecture ima naslednje glavne sestavne dele:

  • Glavna vozlišča
  • Delavska / podrejena vozlišča

Vsakega posebej bom razpravljal o njih. Torej, najprej začnimo z razumevanjem Glavno vozlišče .

Glavno vozlišče

Glavno vozlišče je odgovorno za upravljanje gruče Kubernetes. V glavnem je vstopna točka za vse administrativne naloge. V gruči je lahko več kot eno glavno vozlišče za preverjanje odpornosti na napake.

Kot lahko vidite na zgornjem diagramu, ima glavno vozlišče različne komponente, kot so API Server, Controller Manager, Scheduler in ETCD.

  • API strežnik: Strežnik API je vstopna točka za vse ukaze REST, ki se uporabljajo za nadzor grozda.
  • Upravitelj krmilnika: Je demon, ki uravnava gručo Kubernetes in upravlja različne nedokončne krmilne zanke.
  • Načrtovalec: Načrtovalnik razporeja naloge na podrejena vozlišča. Shrani informacije o uporabi virov za vsako podrejeno vozlišče.
  • ETCD: ETCD je preprosta, porazdeljena, dosledna shramba ključ-vrednost. Uporablja se predvsem za skupno konfiguracijo in odkrivanje storitev.

Delavska / podrejena vozlišča

Delovna vozlišča vsebujejo vse potrebne storitve za upravljanje omrežja med vsebniki, komunikacijo z glavnim vozliščem in dodeljevanje sredstev načrtovanim vsebnikom.

Kot lahko vidite na zgornjem diagramu, ima delovno vozlišče različne komponente, kot so Docker Container, Kubelet, Kube-proxy in Pods.

  • Docker posoda: Docker deluje na vsakem od vozlišč delavcev in zažene konfigurirane pods
  • Kubelet: Kubelet dobi konfiguracijo Pod od strežnika API in zagotovi, da opisani vsebniki delujejo.
  • Kuba proxy: Kube-proxy deluje kot omrežni proxy in izravnalnik obremenitve za storitev na enem vozlišču delavca
  • Stroki: Pod je eden ali več vsebnikov, ki se logično izvajajo skupaj na vozliščih.

Če želite podrobno razlago vseh komponent Kubernetes Architecture, se lahko obrnete na našo blog na

Bi se radi certificirali v Kubernetesu?

Kubernetesova vadnica: Študija primera Kubernetes

Y. ahoo! JAPONSKA je ponudnik spletnih storitev s sedežem v mestu Sunnyvale v Kaliforniji. Ker si je podjetje želelo virtualizirati strojno opremo, je podjetje začelo uporabljati OpenStack leta 2012. Njihovo notranje okolje se je zelo hitro spremenilo. Vendar pa je podjetje zaradi napredka v oblaku in tehnologiji zabojnikov želelo zmogljivostistoritev na različnih platformah.

Težava: Kako iz ene programske kode ustvariti slike za vse zahtevane platforme in te slike razporediti na vsako platformo?

Za boljše razumevanje si oglejte spodnjo sliko. Ko se koda spremeni v registru kode, se z orodji za neprekinjeno integracijo ustvarijo gole kovinske slike, vsebniki Docker in slike VM, ki se potisnejo v register slik in nato uvedejo na vsako infrastrukturno platformo.


Zdaj se osredotočimo na potek dela vsebnika, da bomo razumeli, kako so Kubernetes uporabljali kot uvajalno platformo. Oglejte si spodnjo sliko, če želite vpogled v arhitekturo platforme.

Primeri OpenStack se uporabljajo, poleg tega pa Docker, Kubernetes, Calico itd., Za izvajanje različnih operacij, kot so mreženje kontejnerjev, register vsebnikov itd.

Ko imate več grozdov, jih potem težko upravljate, kajne?

Želeli so samo ustvariti preprosto osnovno gručo OpenStack, da bi zagotovili osnovno funkcionalnost, potrebno za Kubernetes, in olajšali upravljanje okolja OpenStack.

S kombinacijo poteka dela za ustvarjanje slik in Kubernetes so zgradili spodnjo orodno verigo, ki olajša potiskanje kode do uvajanja.


Tovrstna veriga orodij je zagotovila, da so bili upoštevani vsi dejavniki za uvedbo proizvodnje, kot so večnajemnina, overjanje, shranjevanje, mreženje, odkrivanje storitev.

Takole ljudje, Yahoo! JAPONSKA zgradil verigo orodij za avtomatizacijo za uvajanje kode z enim klikom na Kubernetes, ki se izvaja v OpenStacku, s pomočjo Google in Solineja .

Vadnica za guvernerje: Hands-On

V tem priročniku vam bom pokazal, kako ustvariti razmestitev in storitev. Za uporabo Kubernetesa uporabljam primerek Amazon EC2. No, Amazon se je domislil Amazon Elastic Container Service za Guvernerji (Amazon EKS) , ki jim omogoča, da zelo hitro in enostavno ustvarijo grozde Kubernetes v oblaku. Če želite o tem izvedeti več, se lahko obrnete na spletni dnevnik

Korak 1: Najprej ustvari mapo znotraj katerega boste ustvarili svojo razmestitev in storitev. Po tem uporabite urejevalnik in odprite datoteko za razmestitev .

mkdir handsOn cd handsOn vi Deploy.yaml

2. korak: Ko odprete datoteko za razmestitev, omenite vse specifikacije za aplikacijo, ki jo želite namestiti. Tu poskušam uporabiti httpd aplikacijo.

apiVersion: apps / v1 # Določa vrsto različice API: Parameter razmestitve #Kinds določa, za katero vrsto datoteke gre, tu je metapodatki o uvajanju: name: dep1 # Shrani ime specifikacije za uvajanje: # Pod Specifikacije omenite vse specifikacije za razmestitvene replike: 3 # Število replik bi bilo 3 izbirnik: matchLabels: app: httpd # Ime oznake, ki bi jo iskali, je predloga httpd: metapodatki: oznake: aplikacija: httpd # Ime predloge bi bilo httpd spec: # Pod Specifikacije, omenjate vse specifikacije za vsebnike vsebnikov: - ime: httpd # Ime vsebnika bi bilo httpd slika: httpd: najnovejša # Slika, ki jo je treba prenesti, je httpd: najnovejša vrata: - containerPort: 80 # Aplikacija bi bila izpostavljena v pristanišču 80

3. korak: Ko napišete datoteko za razmestitev, jo uporabite z naslednjim ukazom.

kubectl uporabi -f Deploy.yaml

Tu je -f ime zastave, ki se uporablja zatvložiime.

4. korak: Zdaj, ko je razmestitev uporabljena, poiščite zagnan seznam pods.

kubectl dobi stroke -o široko

je magistriral na podiplomskem študiju

Tu se uporabljajo -o wide, da se ve, na katerem vozlišču se izvaja razmestitev.

5. korak: Ko ste ustvarili razmestitev, morate zdaj ustvariti storitev. Za to znova uporabite urejevalnik in odprite prazno storitev. datoteko yaml .

vi storitev.yaml

6. korak: Ko odprete datoteko storitve, navedite vse specifikacije storitve.

apiVersion: v1 # Določi vrsto različice API: Parameter Service #Kinds določa, za katero vrsto datoteke gre, tukaj gre za metapodatke storitve: name: netsvc # Shranjuje ime specifikacije storitve: # V razdelku Specifikacije omenite vse specifikacije za vrsto storitve: izbirnik NodePort: app: httpd ports: -protocol: TCP port: 80 targetPort: 8084 # Številka ciljnih vrat je 8084

7. korak: Ko napišete svojo servisno datoteko, jo uporabite z naslednjim ukazom.

kubectl prijava -f storitev.yaml

8. korak: Ko enkrat uporabite svojo storitev, da preverite, ali se storitev izvaja, uporabite naslednji ukaz.

kubectl dobite svc

9. korak: Zdaj, da si ogledate specifikacije storitve in preverite, za katero končno točko grevezan na, uporabite naslednji ukaz.

kubectl opiši svc

10. korak: Zdaj, ko uporabljamo primerek amazon ec2, za pridobitev spletne strani in preverjanje izhoda uporabite naslednji ukaz.

zavijte ip-naslov

Če se vam zdi ta spletni dnevnik Vadnice Kubernetes ustrezen, si oglejte Edureka, zaupanja vredno podjetje za spletno učenje z mrežo več kot 250.000 zadovoljnih učencev, razširjenih po vsem svetu.

Imate vprašanje za nas? Prosimo, navedite to v oddelku za komentarje v Kubernetesova vadnica ”In se vam oglasim.