Výukový program Kubernetes - Komplexný sprievodca pre Kubernetes



Tento blog o výučbe Kubernetes vás osobne prevedie všetkými konceptmi systému orchestrácie kontajnerov.

Kubernetes je platforma, ktorá eliminuje manuálne procesy spojené s nasadením kontajnerových aplikácií. V tomto blogu o Kubernetes Tutorial si prejdete všetky koncepty týkajúce sa tohto riešenia správy viacerých kontajnerov.

V tomto výučbe sa budeme venovať nasledujúcim témam:





Predtým, ako sa v tomto blogu posuniem ďalej, dovoľte mi, aby som vás rýchlo informoval o kontajnerizácii.

Takže predtým, ako kontajnery vznikli, mali vývojári a testéri vždy medzi sebou rozpor. To sa zvyčajne stalo, pretože to, čo fungovalo na strane vývojára, by nefungovalo na strane testovania. Oba existovali v rôznych prostrediach. Teraz, aby sa zabránilo takýmto scenárom, boli zavedené kontajnery, takže vývojári aj testeri boli na jednej stránke.



Manipulácia s veľkým počtom kontajnerov spolu bola tiež problémom. Niekedy sa pri prevádzke kontajnerov na strane produktu vyskytlo niekoľko problémov, ktoré sa nenašli vo fáze vývoja. Tento druh scenárov predstavil systém orchestrácie kontajnerov.

Predtým, ako sa ponorím do systému orchestrácie, dovoľte mi rýchlo vymenovať výzvy, ktorým čelí bez tohto systému.



Výukový program Kubernetes: Výzvy bez orchestrácie kontajnerov

Výzvy bez orchestrácie kontajnerov - Kubernetes Tutorial - Edureka

Ako môžete vidieť na vyššie uvedenom diagrame, keď vo vnútri kontajnerov beží viac služieb, možno budete chcieť zmeniť ich veľkosť. Vo veľkých priemyselných odvetviach je to skutočne ťažké urobiť. Je to preto, že by sa zvýšili náklady na údržbu služieb a zložitosť ich prevádzkovania vedľa seba.

Teraz, aby sa zabránilo ručnému nastavovaniu služieb a prekonávaniu výziev, bolo treba niečo veľké. To je miesto, kde sa objavuje nástroj Container Orchestration Engine.

Tento modul umožňuje usporiadať viac kontajnerov takým spôsobom, že sú spustené všetky základné stroje, kontajnery sú zdravé a distribuované v klastrovanom prostredí. V dnešnom svete existujú hlavne dva také motory: Guvernéri & Docker Swarm .

Výukový program Kubernetes: Kubernetes vs Docker Swarm

Guvernéri a Docker Swarm sú poprednými nástrojmi na orchestráciu kontajnerov na dnešnom trhu. Predtým, ako ich použijete v produkcii, mali by ste vedieť, čo presne sú a ako fungujú.

Ďalej sa v blogu podrobne ponorím do Kubernetes, ale aby ste vedeli viac o Docker, môžete kliknúť .

Ako môžete vidieť na vyššie uvedenom obrázku, Kubernetes v porovnaní s Docker Swarm vlastní skvelú aktívnu komunitu a umožňuje automatické škálovanie v mnohých organizáciách. Podobne má Docker Swarm v porovnaní s Kubernetes ľahko spustiteľný klaster, je však obmedzený na možnosti Docker API.

Ľudia, to nie sú jediné rozdiely medzi týmito špičkovými nástrojmi. Ak chcete poznať podrobné rozdiely medzi oboma týmito nástrojmi na orchestráciu kontajnerov, môžete kliknúť

Máte záujem dozvedieť sa viac o Kubernetes?

Ak by som si mohol vybrať medzi dvoma, musel by to byť Kubernetes, pretože kontajnery je potrebné spravovať a pripájať k vonkajšiemu svetu na úlohy, ako je plánovanie, vyvažovanie záťaže a distribúcia.

Ale ak si myslíte logicky, Docker Swarm by bol lepšou voľbou, pretože beží nad Dockerom, že? Na tvojom mieste by som bol určite zmätený, aký nástroj použiť. Ale hej, Kubernetes je nespochybniteľným lídrom na trhu a tiež beží nad kontajnermi Docker s lepšími funkciami.

Teraz, keď ste pochopili potrebu Kubernetesa, je to dobrý čas, ktorý vám hovorím Čo je Kubernetes?

Výukový program Kubernetes: Čo je Kubernetes?

je open-source systém, ktorý zvláda prácu s plánovaním kontajnerov na výpočtový klaster a riadi pracovné zaťaženia, aby sa zabezpečilo, že bežia tak, ako to zamýšľa používateľ. Je duchovným dieťaťom spoločnosti Google a ponúka vynikajúcu komunitu a vynikajúco spolupracuje so všetkými poskytovateľmi cloudových služieb, aby sa z nich stala riešenie správy viacerých kontajnerov.

Výukový program Kubernetes: Funkcie Kubernetes

Kubernetes má tieto vlastnosti:

  • Automatické plánovanie: Kubernetes poskytuje pokročilý plánovač na spustenie kontajnera v uzloch klastra na základe ich požiadaviek na zdroje a ďalších obmedzení, bez toho, aby obetoval dostupnosť.
  • Schopnosti samoliečenia: Kubernetes umožňuje nahradiť a preplánovať kontajnery, keď uzly zomrú. Zabíja tiež kontajnery, ktoré nereagujú na kontrolu stavu definovanú používateľom, a nerobí ich reklamám klientom, kým nie sú pripravení na zobrazovanie.
  • Automatické zavádzanie a vrátenie: Kubernetes zavádza zmeny do aplikácie alebo jej konfigurácie pri sledovaní stavu aplikácie, aby sa zabezpečilo, že nezabije všetky vaše inštancie súčasne. Ak sa niečo pokazí, pomocou Kubernetes môžete zmenu vrátiť späť.
  • Horizontálne škálovanie a vyvažovanie záťaže: Kubernetes môže aplikáciu zväčšiť a zmenšiť podľa požiadaviek pomocou jednoduchého príkazu, pomocou používateľského rozhrania alebo automaticky na základe využitia procesora.

Výukový program Kubernetes: Kubernetes Architecture

Kubernetes Architecture má nasledujúce hlavné komponenty:

  • Hlavné uzly
  • Pracovník / podriadené uzly

Budem diskutovať o každom z nich jeden po druhom. Najprv teda začnime porozumením Hlavný uzol .

Hlavný uzol

Hlavný uzol je zodpovedný za správu klastra Kubernetes. Je to hlavne vstupný bod pre všetky administratívne úlohy. V klastri môže byť viac ako jeden hlavný uzol na kontrolu odolnosti proti poruchám.

Ako vidíte na vyššie uvedenom diagrame, hlavný uzol má rôzne komponenty ako API Server, Controller Manager, Scheduler a ETCD.

  • Server API: Server API je vstupným bodom pre všetky príkazy REST používané na riadenie klastra.
  • Správca radiča: Je démon, ktorý reguluje klaster Kubernetes a spravuje rôzne nekončiace riadiace slučky.
  • Plánovač: Plánovač naplánuje úlohy na podriadené uzly. Ukladá informácie o využití prostriedkov pre každý podradený uzol.
  • ETCD: ETCD je jednoduchý, distribuovaný a konzistentný obchod s kľúčmi a hodnotami. Používa sa hlavne na zdieľanú konfiguráciu a zisťovanie služieb.

Pracovník / podriadené uzly

Uzly pracovníkov obsahujú všetky služby potrebné na správu sietí medzi kontajnermi, komunikáciu s hlavným uzlom a prideľovanie prostriedkov naplánovaným kontajnerom.

čo je udalosť v javascript

Ako vidíte na vyššie uvedenom diagrame, pracovný uzol má rôzne komponenty, ako je Docker Container, Kubelet, Kube-proxy a Pods.

  • Kontajner Docker: Docker beží na každom z pracovných uzlov a spúšťa nakonfigurované pody
  • Kubelet: Kubelet získa konfiguráciu modulu Pod zo servera API a zabezpečí, aby boli popísané kontajnery v prevádzke.
  • Kube-proxy: Kube-proxy funguje ako sieťový proxy a nástroj na vyrovnávanie zaťaženia pre službu na jednom pracovnom uzle
  • Pods: Pod je jeden alebo viac kontajnerov, ktoré logicky bežia spoločne na uzloch.

Ak potrebujete podrobné vysvetlenie všetkých komponentov architektúry Kubernetes, môžete sa obrátiť na našu stránku blog na

Chcete získať certifikáciu v spoločnosti Kubernetes?

Výukový program Kubernetes: Prípadová štúdia Kubernetes

Y ahoj! JAPONSKO je poskytovateľ webových služieb so sídlom v Sunnyvale v Kalifornii. Keď sa spoločnosť zamerala na virtualizáciu hardvéru, začala ju používať OpenStack v roku 2012. Ich vnútorné prostredie sa veľmi rýchlo zmenilo. Kvôli pokroku cloudovej a kontajnerovej technológie však spoločnosť chcela capamožnosť spustiť služby na rôznych platformách.

Problém: Ako vytvoriť obrázky pre všetky požadované platformy z jedného kódu aplikácie a nasadiť ich na každú platformu?

pole php print_r

Pre lepšie porozumenie si pozrite nasledujúci obrázok. Keď sa kód zmení v registri kódov, potom sa obrazy holého kovu, kontajnery Docker a obrazy VM vytvoria pomocou nástrojov na nepretržitú integráciu, zasunú sa do registra obrázkov a potom sa nasadia na každú platformu infraštruktúry.


Teraz sa zamerajme na pracovný tok kontajnerov, aby sme pochopili, ako používali Kubernetes ako platformu nasadenia. Pozrite sa na nasledujúci obrázok, aby ste nahliadli do architektúry platformy.

Používajú sa inštancie OpenStack, nad ktorými sú Docker, Kubernetes, Calico atď. Na vykonávanie rôznych operácií, ako je vytváranie sietí v kontajneroch, register kontajnerov atď.

Keď máte niekoľko zoskupení, je ťažké ich spravovať, však?

Chceli teda vytvoriť jednoduchý základný klaster OpenStack, ktorý poskytne základné funkcie potrebné pre Kubernetes a uľahčí správu prostredia OpenStack.

Kombináciou pracovného toku vytvárania obrázkov a Kubernetes vytvorili nasledujúci reťazec nástrojov, ktorý uľahčuje prechod od kódu k nasadeniu.


Tento druh reťazca nástrojov zaistil, aby boli zohľadnené všetky faktory pre produkčné nasadenie, ako napríklad multi-tenancy, autentifikácia, úložisko, sieť, zisťovanie služieb.

Takto ľudia, Yahoo! JAPONSKO vybudoval reťazec automatizačných nástrojov na nasadenie kódu „jedným kliknutím“ na Kubernetes bežiaci na OpenStack s pomocou od Google a Solinea .

Výukový program pre guvernérov: Hands-On

V tomto praktickom cvičení vám ukážem, ako vytvoriť nasadenie a službu. Používam inštanciu Amazon EC2 na použitie Kubernetes. Nuž, Amazon vymyslel Služba elastického kontajnera Amazon pre Guvernéri (Amazon EKS) , čo im umožňuje veľmi rýchlo a ľahko vytvárať klastre Kubernetes v cloude. Ak sa o nej chcete dozvedieť viac, môžete sa obrátiť na tento blog

Krok 1: najprv vytvorte priečinok vo vnútri ktorého vytvoríte svoje nasadenie a službu. Potom použite editor a otvorte súbor nasadenia .

mkdir handsOn cd handsOn vi Deploy.yaml

Krok 2: Po otvorení súboru nasadenia uveďte všetky špecifikácie aplikácie, ktorú chcete nasadiť. Tu sa pokúšam nasadiť httpd žiadosť.

apiVersion: apps / v1 # Definuje druh verzie API: Parameter Deployment #Kinds definuje, o aký typ súboru ide, tu sú metadáta nasadenia: name: dep1 # Uloží názov špecifikácie nasadenia: # V časti Špecifikácie uvediete všetky špecifikácie replík nasadenia: 3 # Počet replík bude 3 selektor: matchLabels: aplikácia: httpd # Názov štítku, ktorý sa bude hľadať, je šablóna httpd: metadáta: štítky: aplikácia: httpd # Názov šablóny bude httpd spec: # Pod V špecifikáciách uvádzate všetky špecifikácie kontajnerov kontajnerov: - názov: httpd # názov kontajnerov by bol httpd obrázok: httpd: latest # obrázok, ktorý sa má stiahnuť, je httpd: najnovšie porty: - containerPort: 80 # aplikácia by boli vystavené na porte 80

Krok 3: Po napísaní súboru nasadenia použite nasadenie pomocou nasledujúceho príkazu.

kubectl apply -f Nasadiť.yaml

Tu -f je názov vlajky používaný preton podánázov.

Krok 4: Teraz, keď sa nasadenie použije, získajte spustený zoznam podov.

kubectl get pods -o wide

Tu sa -o wide používa na zistenie, na ktorom uzle je nasadenie spustené.

Krok 5: Po vytvorení nasadenia musíte vytvoriť službu. Na to znova použite editor a otvorte prázdne miesto služby. yaml súbor .

vi služba.yaml

Krok 6: Po otvorení súboru služby uveďte všetky špecifikácie služby.

apiVersion: v1 # Definuje druh verzie API: Parameter Service #Kinds definuje, o aký typ súboru ide, tu sú metadáta služby: name: netsvc # Uloží názov špecifikácie služby: # V časti Špecifikácie uvádzate všetky špecifikácie pre typ služby: selektor NodePort: aplikácia: porty httpd: -protokol: port TCP: 80 targetPort: 8084 # číslo cieľového portu je 8084

Krok 7: Po napísaní servisného súboru použite servisný súbor pomocou nasledujúceho príkazu.

kubectl apply -f service.yaml

Krok 8: Po použití služby teraz skontrolujte, či je služba spustená alebo nie, použite nasledujúci príkaz.

kubectl dostať svc

Krok 9: Teraz si pozrite technické parametre služby a skontrolujte, o ktorý koncový bod ideviazané na, použite nasledujúci príkaz.

kubectl opísať svc

Krok 10: Teraz, pretože používame inštanciu Amazon ec2, na načítanie webovej stránky a kontrolu výstupu použite nasledujúci príkaz.

zvlniť IP adresu

Ak sa vám zdá tento blog Kubernetes Tutorial relevantný, pozrite si stránku autor: Edureka, dôveryhodná online vzdelávacia spoločnosť so sieťou viac ako 250 000 spokojných študentov rozmiestnených po celom svete.

Máte na nás otázku? Uveďte to v sekcii komentárov stránky ” Výukový program Kubernetes “A ozvem sa ti.