Výukový program Kubernetes - komplexní průvodce pro Kubernetes

Tento blog o kurzu Kubernetes vás provede praktickými koncepty systému orchestrace kontejnerů.

Kubernetes je platforma, která eliminuje manuální procesy spojené s nasazením kontejnerových aplikací. V tomto blogu o kurzu Kubernetes projdete všemi koncepty souvisejícími s tímto řešením správy více kontejnerů.

V tomto kurzu se budeme zabývat následujícími tématy:





Nyní, než se v tomto blogu posuneme vpřed, dovolte mi, abych vás rychle informoval o kontejnerizaci.

Než tedy kontejnery vznikly, měli vývojáři a testeři vždy mezi sebou rozpor. To se obvykle stalo, protože to, co fungovalo na straně vývojáře, by nefungovalo na straně testování. Oba existovali v různých prostředích. Abychom se vyhnuli takovým scénářům, byly nyní zavedeny kontejnery, takže vývojáři i testeři byli na stejné stránce.



Manipulace s velkým počtem kontejnerů dohromady byla také problém. Někdy při spuštění kontejnerů došlo na straně produktu k několika problémům, které nebyly přítomny ve fázi vývoje. Tento druh scénářů představil systém orchestrace kontejnerů.

Než se hluboce ponořím do orchestračního systému, dovolte mi rychle uvést seznam výzev, kterým čelí bez tohoto systému.



Výukový program Kubernetes: Výzvy bez orchestrace kontejnerů

Výzvy bez orchestrace kontejnerů - výukový program Kubernetes - Edureka

Jak vidíte ve výše uvedeném diagramu, když uvnitř kontejnerů běží více služeb, možná budete chtít tyto kontejnery škálovat. Ve velkých průmyslových odvětvích je to opravdu těžké. Je to proto, že by se zvýšily náklady na údržbu služeb a složitost jejich provozování vedle sebe.

Abychom se vyhnuli ručnímu nastavování služeb a překonali výzvy, bylo zapotřebí něco velkého. To je místo, kde se do obrazu dostane nástroj Container Orchestration Engine.

Tento modul umožňuje organizovat více kontejnerů takovým způsobem, že jsou spuštěny všechny základní stroje, kontejnery jsou zdravé a distribuované v klastrovaném prostředí. V dnešním světě existují hlavně dva takové motory: Guvernéři & Docker Swarm .

Výukový program Kubernetes: Kubernetes vs Docker Swarm

Guvernéři a Docker Swarm jsou přední nástroje pro orchestraci kontejnerů na dnešním trhu. Než je tedy použijete v produkci, měli byste vědět, co přesně jsou a jak fungují.

Dále se v blogu podrobně ponořím do Kubernetes, ale abyste věděli o Dockeru, můžete kliknout .

Jak můžete odkázat na výše uvedený obrázek, Kubernetes ve srovnání s Docker Swarm vlastní velkou aktivní komunitu a umožňuje automatické škálování v mnoha organizacích. Podobně má Docker Swarm ve srovnání s Kubernetes snadno startovatelný cluster, ale je omezen na schopnosti Docker API.

Lidi, to nejsou jediné rozdíly mezi těmito špičkovými nástroji. Pokud chcete znát podrobné rozdíly mezi oběma těmito nástroji pro orchestraci kontejneru, můžete kliknout

Chcete vědět více o Kubernetes?

Pokud bych si mohl vybrat svůj výběr mezi těmito dvěma, pak by to musel být Kubernetes, protože kontejnery musí být spravovány a připojeny k vnějšímu světu pro úkoly, jako je plánování, vyvažování zátěže a distribuce.

Ale pokud si myslíte logicky, Docker Swarm by byl lepší volbou, protože běží nad Dockerem, že? Kdybych byl na vašem místě, určitě bych byl zmatený, jaký nástroj použít. Ale hej, Kubernetes je nesporným lídrem na trhu a také běží nad kontejnery Docker s lepšími funkcemi.

Nyní, když jste pochopili potřebu Kubernetes, říkám vám, že je vhodná doba Co je Kubernetes?

Výukový program Kubernetes: Co je Kubernetes?

je open-source systém, který zpracovává práci s plánováním kontejnerů na výpočetním klastru a spravuje pracovní zátěže, aby zajistil jejich běh podle záměru uživatele. Být duchovním dítětem Google nabízí vynikající komunitu a skvěle spolupracuje se všemi poskytovateli cloudu, aby se stal řešení pro správu více kontejnerů.

Výukový program Kubernetes: Funkce Kubernetes

Funkce Kubernetes jsou následující:

  • Automatické plánování: Kubernetes poskytuje pokročilý plánovač pro spuštění kontejneru na uzlech clusteru na základě jejich požadavků na zdroje a dalších omezení, aniž by obětoval dostupnost.
  • Schopnosti samoléčení: Kubernetes umožňuje nahradit a přeplánovat kontejnery, když uzly zemřou. Zabíjí také kontejnery, které nereagují na kontrolu stavu definovanou uživatelem, a nepropaguje je klientům, dokud nejsou připraveni k zobrazování.
  • Automatické zavádění a vrácení zpět: Kubernetes zavádí změny do aplikace nebo její konfigurace při sledování stavu aplikace, aby zajistil, že nezabije všechny vaše instance najednou. Pokud se něco pokazí, můžete Kubernetes změnu vrátit zpět.
  • Horizontální škálování a vyvažování zátěže: Kubernetes může škálovat a zmenšovat aplikaci podle požadavků pomocí jednoduchého příkazu, pomocí uživatelského rozhraní nebo automaticky na základě využití CPU.

Výukový program Kubernetes: Kubernetes Architecture

Kubernetes Architecture má následující hlavní komponenty:

  • Hlavní uzly
  • Worker / Slave uzly

Budu diskutovat o každém z nich jeden po druhém. Nejprve tedy začněme pochopením Hlavní uzel .

Hlavní uzel

Hlavní uzel je zodpovědný za správu klastru Kubernetes. Je to hlavně vstupní bod pro všechny administrativní úkoly. V clusteru může být více než jeden hlavní uzel ke kontrole tolerance chyb.

Jak vidíte na výše uvedeném diagramu, hlavní uzel má různé komponenty, jako je API Server, Controller Manager, Scheduler a ETCD.

  • Server API: Server API je vstupním bodem pro všechny příkazy REST používané k ovládání clusteru.
  • Správce řadiče: Je démon, který reguluje klastr Kubernetes a spravuje různé nekončící kontrolní smyčky.
  • Plánovač: Plánovač naplánuje úkoly na podřízené uzly. Ukládá informace o využití prostředků pro každý podřízený uzel.
  • ETCD: ETCD je jednoduché, distribuované a konzistentní úložiště klíč – hodnota. Používá se hlavně pro sdílenou konfiguraci a zjišťování služeb.

Worker / Slave uzly

Pracovní uzly obsahují všechny služby nezbytné pro správu sítí mezi kontejnery, komunikaci s hlavním uzlem a přiřazování prostředků naplánovaným kontejnerům.

co je metoda javascript

Jak vidíte ve výše uvedeném diagramu, pracovní uzel má různé komponenty, jako je Docker Container, Kubelet, Kube-proxy a Pods.

  • Kontejner Docker: Docker běží na každém z pracovních uzlů a spouští nakonfigurované pody
  • Kubelet: Kubelet získá konfiguraci modulu Pod ze serveru API a zajistí, aby popsané kontejnery byly funkční.
  • Kubě-proxy: Kube-proxy funguje jako síťový proxy a nástroj pro vyrovnávání zatížení pro službu na jednom pracovním uzlu
  • Pods: Pod je jeden nebo více kontejnerů, které logicky běží společně na uzlech.

Pokud chcete podrobné vysvětlení všech komponent Kubernetes Architecture, můžete se obrátit na naši blog na

Chcete získat certifikaci v Kubernetes?

Výukový program Kubernetes: Kubernetes případová studie

Y ahoo! JAPONSKO je poskytovatel webových služeb se sídlem v Sunnyvale v Kalifornii. Protože se společnost zaměřila na virtualizaci hardwaru, začala společnost používat OpenStack v roce 2012. Jejich vnitřní prostředí se velmi rychle změnilo. Vzhledem k pokroku cloudové a kontejnerové technologie však společnost chtěla capamožnost spouštět služby na různých platformách.

Problém: Jak vytvořit obrázky pro všechny požadované platformy z jednoho kódu aplikace a nasadit tyto obrázky na každou platformu?

co je serializovatelné v Javě

Pro lepší pochopení viz níže uvedený obrázek. Když se kód změní v registru kódu, pak se obrazy holého kovu, kontejnery Docker a bitové kopie virtuálních počítačů vytvoří pomocí nástrojů pro nepřetržitou integraci, vloží se do registru bitových kopií a poté se nasadí na každou platformu infrastruktury.


Nyní se zaměřme na pracovní postup kontejnerů, abychom pochopili, jak použili Kubernetes jako platformu nasazení. Podívejte se na níže uvedený obrázek a podívejte se na architekturu platformy.

Používají se instance OpenStack, v nichž jsou Docker, Kubernetes, Calico atd. Prováděny různé operace, jako je Container Networking, Container Registry atd.

Když máte několik klastrů, je těžké je spravovat správně?

Chtěli tedy vytvořit jednoduchý základní klastr OpenStack, který poskytne základní funkce potřebné pro Kubernetes a usnadní správu prostředí OpenStack.

Kombinací pracovního postupu pro vytváření obrázků a Kubernetes vytvořili níže uvedený řetězec nástrojů, který usnadňuje odesílání kódu do nasazení.


Tento druh řetězců nástrojů zajistil, že byly brány v úvahu všechny faktory pro produkční nasazení, jako je multi-tenancy, ověřování, úložiště, síť, zjišťování služeb.

Takhle lidi, Yahoo! JAPONSKO vybudoval automatizovanou nástrojovou řadu pro nasazení kódu „jedním kliknutím“ na Kubernetes běžící na OpenStack, s pomocí od Google a Solinea .

Výukový program pro guvernéry: Hands-On

V tomto praktickém cvičení vám ukážu, jak vytvořit nasazení a službu. Používám instanci Amazon EC2, abych použil Kubernetes. Amazon přišel s Služba Amazon Elastic Container Service pro Guvernéři (Amazon EKS) , což jim umožňuje velmi rychle a snadno vytvářet shluky Kubernetes v cloudu. Pokud se o tom chcete dozvědět více, můžete se podívat na blog

Krok 1: za prvé vytvořte složku uvnitř kterého vytvoříte své nasazení a službu. Poté použijte editor a otevřete soubor nasazení .

mkdir handsOn cd handsOn vi Deploy.yaml

Krok 2: Jakmile otevřete soubor nasazení, uveďte všechny specifikace aplikace, kterou chcete nasadit. Tady se snažím nasadit httpd aplikace.

apiVersion: apps / v1 #Defines the API Version kind: Deployment #Kinds parameter defines which kind of file is it, over here it is Deployment metadata: name: dep1 # Stores the name of the deployment spec: # Under Specifications, you mentioned all specifikace replik nasazení: 3 # Počet replik bude 3 selektor: matchLabels: aplikace: httpd # Název štítku, který by byl prohledán, je šablona httpd: metadata: štítky: aplikace: httpd # Název šablony by byl httpd spec: # Pod Specifikace, zmíníte všechny specifikace kontejnerů kontejnerů: - název: httpd # název kontejnerů bude httpd obrázek: httpd: nejnovější # obrázek, který je třeba stáhnout, je httpd: nejnovější porty: - containerPort: 80 # aplikace bude vystaven na portu 80

Krok 3: Poté, co napíšete soubor nasazení, použijte nasazení pomocí následujícího příkazu.

kubectl apply -f Deploy.yaml

Zde -f je název vlajky používaný protpodánázev.

Krok 4: Jakmile je nasazení použito, získejte spuštěný seznam podů.

kubectl dostat lusky -o široký

Zde se používá -o wide, aby se zjistilo, na kterém uzlu je nasazení spuštěno.

Krok 5: Poté, co jste vytvořili nasazení, musíte nyní vytvořit službu. K tomu znovu použijte editor a otevřete mezeru servis. soubor yaml .

vi service.yaml

Krok 6: Jakmile otevřete soubor služby, uveďte všechny specifikace služby.

apiVersion: v1 #Defines the API Version kind: Service #Kinds parameter defines which kind of file is it, over here it is Service metadata: name: netsvc # Store the name of the service spec: # Under Specifications, you mentioned all the specifications pro typ služby: selektor NodePort: aplikace: porty httpd: -protokol: port TCP: 80 targetPort: 8084 # Číslo cílového portu je 8084

Krok 7: Po napsání souboru služby použijte soubor služby pomocí následujícího příkazu.

kubectl apply -f service.yaml

Krok 8: Jakmile je vaše služba použita, zkontrolujte, zda je služba spuštěna nebo ne, použijte následující příkaz.

kubectl get svc

Krok 9: Nyní si přečtěte specifikace služby a zkontrolujte, o jaký koncový bod jdesvázáno s, použijte následující příkaz.

kubectl popsat svc

Krok 10: Nyní, protože používáme instanci Amazon EC2, k načtení webové stránky a kontrole výstupu použijte následující příkaz.

zvlnit IP adresu

Pokud jste našli tento blog Kubernetes Tutorial relevantní, podívejte se na Edureka, důvěryhodná online vzdělávací společnost se sítí více než 250 000 spokojených studentů po celém světě.

Máte na nás dotaz? Uveďte to prosím v sekci komentářů na stránce ” Výukový program Kubernetes „A ozvu se vám.