Kubernetese õpetus - põhjalik juhend Kubernetesele



See Kubernetese õpetuse ajaveeb tutvustab praktilise käsiraamatuga kõiki konteinerorkestratsioonisüsteemi kontseptsioone.

Kubernetes on platvorm, mis kõrvaldab konteinerirakenduste juurutamisega seotud käsitsi protsessid. Selles Kubernetese õpetuse ajaveebis leiate läbi kõik selle mitme konteineri haldamise lahendusega seotud mõisted.

Selles õpetuses käsitletakse järgmisi teemasid:





Enne selle ajaveebi edasiliikumist lubage mul teile lihtsalt konteinerite kohta lühidalt teada anda.

Niisiis, enne konteinerite tekkimist oli arendajatel ja testijatel alati tiff. Tavaliselt juhtus see seetõttu, et see, mis arendaja poolel töötas, ei töötanud testimise poolel. Mõlemad eksisteerisid erinevates keskkondades. Selliste stsenaariumide vältimiseks võeti kasutusele konteinerid, nii et nii arendajad kui ka testijad olid samal lehel.



Samuti oli probleemiks suure hulga konteinerite käsitsemine koos. Mõnikord kerkis toote poolel konteinerite käitamise ajal vähe probleeme, mida arendusetapil ei olnud. Sellised stsenaariumid tutvustasid konteinerite orkestreerimissüsteemi.

Enne kui orkestreerimissüsteemi sügavuti sukeldun, lubage mul lihtsalt üles loetleda probleemid, millega selle süsteemita kokku puututi.



Kubernetese õpetus: Konteinerite orkestreerimata väljakutsed

Konteinerite orkestreerimata väljakutsed - Kubernetese õpetus - Edureka

Nagu näete ülaltoodud skeemilt, kui konteinerites töötab mitu teenust, võiksite neid konteinereid laiendada. Suurtööstuses on seda tõesti raske teha. Selle põhjuseks on asjaolu, et see suurendaks teenuste ülalpidamiskulusid ja nende kõrvuti käitamise keerukust.

Teenuste käsitsi seadistamise vältimiseks ja probleemidest ülesaamiseks oli vaja midagi suurt. Siin tuleb pildile Container Orchestration Engine.

See mootor võimaldab meil korraldada mitu konteinerit nii, et kõik selle aluseks olevad masinad käivitatakse, konteinerid on terved ja jaotatud klastrite keskkonnas. Tänapäeva maailmas on peamiselt kaks sellist mootorit: Kubernetes & Dockeri sülem .

Kubernetese õpetus: Kubernetes vs Docker Swarm

Kubernetes ja Dockeri sülem juhivad tänapäeva turul konteinerorkestri tööriistu. Nii et enne nende kasutamist tootes peaksite teadma, mis need täpselt on ja kuidas nad töötavad.

Lisaks lähen blogisse Kubernetesesse, kuid Dockeri kohta teadmiseks võite klõpsata .

Nagu võite viidata ülaltoodud pildile, omab Kubernetes Docker Swarmiga võrreldes suurepärast aktiivset kogukonda ja annab paljudes organisatsioonides automaatse skaleerimise võimaluse. Samamoodi on Docker Swarmil Kubernetesega võrreldes lihtsalt käivitatav klaster, kuid see piirdub Dockeri API võimalustega.

Noh, inimesed, need pole ainsad erinevused nende tipp-tööriistade vahel. Kui soovite teada mõlema konteinerorkestratsiooni tööriista üksikasjalikke erinevusi, võite klõpsata

iteratiivne fibonacci c ++
Kas soovite Kubernetesest rohkem teada saada?

Kui ma saaksin valida oma valiku nende kahe vahel, siis peaks see olema Kubernetes, kuna konteinereid tuleb hallata ja ühendada välismaailmaga selliste ülesannete jaoks nagu ajakava koostamine, koormuse tasakaalustamine ja levitamine.

Kuid kui te loogiliselt mõtlete, oleks Docker Swarm parema variandi, kuna see töötab Dockeri peal? Kui ma oleksin sina, oleksin kindlasti segadusse sattunud, millist tööriista kasutada. Aga hei, Kubernetes on vaieldamatu liider turul ja töötab ka parema funktsionaalsusega Dockeri konteinerite peal.

Nüüd, kui olete aru saanud Kubernetese vajalikkusest, on see hea aeg, mida ma teile ütlen What is Kubernetes?

Kubernetese õpetus: What is Kubernetes?

on avatud lähtekoodiga süsteem, mis haldab konteinerite ajastamise arvutiklastris tööd ja haldab töökoormusi tagamaks, et need töötaksid kasutaja kavatsusel. Kuna tegemist on Google'i ideega, pakub see suurepärast kogukonda ja töötab suurepäraselt kõigi pilvepakkujatega, et saada mitme konteineri haldamise lahendus.

Kubernetese õpetus: Kubernetes Features

Kubernetese omadused on järgmised:

  • Automaatne ajastamine: Kubernetes pakub täiustatud ajastajat konteineri käivitamiseks klastri sõlmedes, lähtudes nende ressursinõuetest ja muudest piirangutest, ohverdamata kättesaadavust.
  • Enesetervendamise võimalused: Kubernetes võimaldab sõlmede suremisel konteinereid asendada ja ümber paigutada. See tapab ka konteinerid, mis ei vasta kasutaja määratletud tervisekontrollile, ja ei reklaami neid klientidele enne, kui nad on teenimiseks valmis.
  • Automaatne levitamine ja tagasivõtmine: Kubernetes juurutab rakenduse või selle konfiguratsiooni muudatused, jälgides rakenduse tervislikku seisundit, tagamaks, et see ei tapa kõiki teie eksemplare korraga. Kui midagi läheb valesti, saate Kubernetesega muudatuse tagasi tuua.
  • Horisontaalne skaala ja koormuse tasakaalustamine: Kubernetes saab rakendust vastavalt nõudmistele laiendada ja vähendada lihtsa käsuga, kasutajaliidese abil või automaatselt vastavalt protsessori kasutamisele.

Kubernetese õpetus: Kubernetes Architecture

Kubernetes Arhitektuuril on järgmised põhikomponendid:

  • Meistrisõlmed
  • Töötaja / orja sõlmed

Ma kavatsen neid kõiki ükshaaval arutada. Alustuseks alustame sellest, et mõistame Meistrisõlm .

Meistrisõlm

Kubernetes klastri haldamise eest vastutab põhisõlm. See on peamiselt kõigi haldusülesannete lähtepunkt. Rikketaluvuse kontrollimiseks võib klastris olla rohkem kui üks põhisõlm.

Nagu ülaltoodud diagrammilt näha, on põhisõlmel erinevaid komponente, nagu API Server, Controller Manager, Scheduler ja ETCD.

  • API server: API server on kõigi klastri juhtimiseks kasutatavate REST-käskude sisestuspunkt.
  • Kontrolleri haldur: On deemon, mis reguleerib Kubernetes klastrit ja haldab erinevaid mittelõppuvaid juhtimissilmusid.
  • Planeerija: Planeerija ajastab ülesanded alamsõlmedesse. See salvestab ressursikasutuse teabe iga alamsõlme kohta.
  • ETCD: ETCD on lihtne, hajutatud, järjepidev võtmeväärtuste salvestus. Seda kasutatakse peamiselt jagatud konfiguratsiooni ja teenuste avastamiseks.

Töötaja / orja sõlmed

Töötaja sõlmed sisaldavad kõiki vajalikke teenuseid konteinerite vahelise võrguühenduse haldamiseks, põhisõlmega suhtlemiseks ja ajastatud konteineritele ressursside määramiseks.

Nagu ülaltoodud diagrammilt näha, on töölisesõlmel mitmesuguseid komponente, nagu Dockeri konteiner, Kubelet, Kube-puhverserver ja Pods.

  • Dockeri konteiner: Docker töötab kõigil töötaja sõlmedel ja käivitab konfigureeritud kaunad
  • Kubelet: Kubelet saab Podi konfiguratsiooni API serverist ja tagab, et kirjeldatud konteinerid on töökorras.
  • Kuuba volikiri: Kube-puhverserver toimib võrgus puhverserverina ja koormuse tasakaalustajana teenuses ühes töölisesõlmes
  • Kaunad: Kaun on üks või mitu konteinerit, mis loogiliselt koos sõlmedes töötavad.

Kui soovite Kubernetes Architecture'i kõigi komponentide üksikasjalikku selgitust, võite viidata meie ajaveeb

Kas soovite saada Kubernetesele sertifikaadi?

Kubernetese õpetus: Kubernetes Case-Study

Y ahoo! Jaapan on veebiteenuste pakkuja, mille peakontor asub Californias Sunnyvales. Kuna ettevõtte eesmärk oli riistvara virtualiseerimine, hakkas ettevõte seda kasutama OpenStack Nende sisekeskkond muutus väga kiiresti. Pilv- ja konteineritehnoloogia edenemise tõttu soovis ettevõte aga capatvõime käivitada teenuseid erinevatel platvormidel.

Probleem: Kuidas luua rakenduskoodist kõigi vajalike platvormide jaoks pilte ja neid pilte igale platvormile juurutada?

Parema mõistmise huvides vaadake allolevat pilti. Kui koodi registris muudetakse, luuakse pideva integreerimise tööriistadega paljad metallkujutised, Dockeri konteinerid ja VM-pildid, lükatakse need pildiregistrisse ja juurutatakse seejärel igale infrastruktuuriplatvormile.


Nüüd keskendugem konteinerite töövoogudel, et mõista, kuidas nad Kubernetes kasutasid juurutusplatvormina. Platvormi arhitektuuri vaatamiseks vaadake allolevat pilti.

Kasutatakse OpenStacki eksemplare, mille peal on Docker, Kubernetes, Calico jne., Et teha erinevaid toiminguid, näiteks Container Networking, Container Registry jne.

Kui teil on mitu klastrit, siis on neid keeruline hallata?

Niisiis, nad tahtsid lihtsalt luua lihtsa baasiga OpenStacki klastri, et pakkuda Kubernetesele vajalikke põhifunktsionaalsusi ja muuta OpenStacki keskkonda hõlpsamini hallatavaks.

Pildi loomise töövoo ja Kubernetes'e kombinatsiooniga ehitasid nad allpool oleva tööriistahela, mis muudab koodi sisestamise ja juurutamise vahel hõlpsaks.


Selline tööriistakett hoolitses selle eest, et arvesse võetaks kõiki tootmise juurutamise tegureid, näiteks mitme üürimise, autentimise, salvestamise, võrguühenduse ja teenuste avastamise tegureid.

Nii saavad inimesed, Yahoo! Jaapan ehitas automaatika tööriistaketi ühe klõpsuga koodi juurutamiseks OpenStackis töötavasse Kubernetesesse, abiga Google ja Solinea .

Kubernetes Tutorial: Hands-On

Selles näpunäites näitan teile, kuidas luua juurutust ja teenust. Kubernetese kasutamiseks kasutan Amazon EC2 eksemplari. Noh, Amazon on välja tulnud Amazon Elastic Container Service jaoks Kubernetes (Amazon EKS) , mis võimaldab neil luua pilvesse Kubernetes klastreid väga kiiresti ja lihtsalt. Kui soovite selle kohta rohkem teada saada, võite viidata ajaveebile

Samm 1: Esiteks looge kaust mille sees loote oma juurutuse ja teenuse. Pärast seda kasutage redaktorit ja avage juurutusfail .

mkdir handsOn cd-käedOn vi Deploy.yaml

2. samm: Kui olete juurutusfaili avanud, mainige kõiki rakenduse spetsifikatsioone, mida soovite juurutada. Siin proovin kasutada httpd rakendus.

apiVersion: apps / v1 #Defineerib API versiooni tüübi: Parameeter Deployment #Kinds määratleb, mis tüüpi fail see on, siin on see juurutamise metaandmed: nimi: dep1 #Salvestab juurutamise spetsifikatsiooni nime: # Spetsifikatsioonide all mainite kõiki juurutamise koopiate spetsifikatsioonid: 3 # koopiate arv oleks 3 valijat: matchLabels: rakendus: httpd # Otsitava sildi nimi on httpd mall: metaandmed: siltid: rakendus: httpd # malli nimi oleks httpd spec: # Spetsifikatsioonides mainite kõiki konteinerite konteinerite spetsifikatsioone: - nimi: httpd # Konteinerite nimi oleks httpd pilt: httpd: viimane # Allalaaditav pilt on httpd: uusimad pordid: - containerPort: 80 # Rakendus oleks avatud sadamas 80

3. samm: Pärast juurutusfaili kirjutamist rakendage juurutamine järgmise käsu abil.

kubectl Apply -f Deploy.yaml

Siin -f on lipunimi, mida kasutataksetta viilibnimi.

mis on javauba

4. samm: Kui juurutamine on rakendatud, hankige töötavate kaunade loend.

kubectl saavad kaunad-liiga laiad

Siin kasutatakse-liiga lai teadmiseks, millises sõlmes juurutamine töötab.

5. samm: Pärast juurutamise loomist peate nüüd looma teenuse. Selleks kasutage uuesti redaktorit ja avage tühi teenus. yaml-fail .

vi service.yaml

6. samm: Kui avate teenusefaili, mainige kõiki teenuse spetsifikatsioone.

apiVersion: v1 #Defineerib API versiooni tüübi: Parameeter Service #Kinds määratleb, mis tüüpi fail see on, siin on see teenuse metaandmed: nimi: netsvc #Salvestab teenuse spetsifikatsiooni nime: # Spetsifikatsioonide all mainite kõiki spetsifikatsioone teenuse tüübi jaoks: NodePorti valija: rakendus: httpd-pordid: -protokoll: TCP-port: 80 targetPort: 8084 #Sihtmärgi pordi number on 8084

7. samm: Pärast teenusefaili kirjutamist rakendage teenusefail järgmise käsuga.

kubectl apply -f service.yaml

8. samm: Nüüd, kui teie teenus on rakendatud, kontrollige, kas teenus töötab või mitte, kasutage järgmist käsku.

kubectl saada svc

9. samm: Nüüd, et näha teenuse spetsifikatsioone ja kontrollida, milline lõpp-punkt see onseotud, kasutage järgmist käsku.

kubectl kirjeldage svc

10. samm: Kuna kasutame amazon ec2 eksemplari, kasutage veebilehe toomiseks ja väljundi kontrollimiseks järgmist käsku.

curl ip-aadress

Kui leiate, et see Kubernetes Tutoriali ajaveeb on asjakohane, vaadake Edureka, usaldusväärne veebiõppeettevõte, mille võrgustik hõlmab üle 250 000 rahuloleva õppija, levinud üle kogu maailma.

Kas teil on meile küsimus? Palun mainige seda kommentaaride jaotises ” Kubernetese õpetus ”Ja pöördun teie poole tagasi.