Kubernetese õpetus algajatele: põhitõed, funktsioonid, Architektuur

Enne selle Kubernetese õpetuse alustamist õpime:

Mis on Kubernetes?

Kubernetes on Google'i platvormil välja töötatud konteinerihaldussüsteem. Kubernetes aitab hallata konteinerrakendusi erinevat tüüpi füüsilistes, virtuaalsetes ja pilvekeskkondades. Google Kubernetes on väga paindlik konteineritööriist, mis võimaldab pidevalt pakkuda keerulisi rakendusi, mis töötavad sadadest kuni tuhandete üksikute serverite klastrites.

Miks on vaja konteinereid?

Tänapäeva Interneti-kasutaja ei nõustu kunagi seisakutega. Seetõttu peavad arendajad leidma meetodi hoolduse ja värskendamise teostamiseks ilma oma teenuseid katkestamata.

Seetõttu on konteiner isoleeritud keskkond. See sisaldab kõike, mis on rakenduse käivitamiseks vajalik. See muudab arendaja jaoks rakenduste redigeerimise ja juurutamise lihtsaks. Lisaks on konteinerisse paigutamisest saanud eelistatud meetod veebirakenduste pakendamiseks, juurutamiseks ja värskendamiseks.

Milliseid ülesandeid täidab Kubernetes?

Kubernetes on Linuxi tuum, mida kasutatakse hajutatud süsteemide jaoks. See aitab teil olla abstraktne sõlmede (serverite) aluseks olevast riistvarast ja pakub ühtset liidest rakendustele, mis tarbivad jagatud ressursse.

Miks kasutada Kubernetest?

Kubernetes aitab teil juhtida pilverakenduste ja mikroteenuste ressursside jaotamist ja liikluse juhtimist. Samuti aitab see lihtsustada teenusele orienteeritud infrastruktuuride erinevaid aspekte. Kubernetes võimaldab teil kindlaks teha, kus ja millal konteinerrakendused töötavad, ning aitab teil leida ressursse ja tööriistu, millega soovite töötada.

Kubernetese omadused

Siin on peamised Kubernetese funktsioonid:

  • Automatiseeritud ajastamine
  • Enesetervenemise võimalused
  • Automatiseeritud levitamine ja tagasivõtmine
  • Horisontaalne skaleerimine ja koormuse tasakaalustamine
  • Pakub arenduseks, testimiseks ja tootmiseks keskkonna järjepidevust
  • Iga komponendiga lõdvalt ühendatud infrastruktuur võib toimida eraldi üksusena
  • Tagab suurema ressursikasutuse tiheduse
  • Pakub ettevõtte jaoks valmis funktsioone
  • Rakenduskeskne juhtimine
  • Automaatselt skaleeritav infrastruktuur
  • Saate luua prognoositava infrastruktuuri

Kubernetese põhitõed

Nüüd selles Kubernetese õpetuses õpime mõningaid olulisi Kubernetese põhitõdesid:

  • Cluster

    See on hostide (serverite) kogu, mis aitab teil nende olemasolevaid ressursse koondada. See hõlmab RAM-i, CPU-d, RAM-i, ketast ja nende seadmeid kasutatavasse kogumisse.

  • meister

    Master on komponentide kogum, mis moodustavad Kubernetese juhtpaneeli. Neid komponente kasutatakse kõigi klastriotsuste jaoks. See hõlmab nii ajastamist kui ka klastri sündmustele reageerimist.

  • sõlme

    See on üks host, mis on võimeline töötama füüsilisel või virtuaalne masin. Sõlm peaks käivitama nii kube-puhverserveri, minikube kui ka kubelet, mida peetakse klastri osaks.

  • Nimeruum

    See on loogiline klaster või keskkond. See on laialdaselt kasutatav meetod, mida kasutatakse juurdepääsu ulatuse määramiseks või klastri jagamiseks.

Kubernetes Architektuur

Allpool on üksikasjalik Kubernetese arhitektuuriskeem:

Kubernetes Architektuuri diagramm
Kubernetes Architektuuri diagramm

Põhisõlm

Põhisõlm on esimene ja kõige olulisem komponent, mis vastutab Kubernetese klastri haldamise eest. See on sisenemispunkt igasuguste haldusülesannete jaoks. Klastris võib tõrketaluvuse kontrollimiseks olla rohkem kui üks põhisõlm.

Põhisõlmel on erinevad komponendid, nagu API server, kontrollerihaldur, plaanija ja ETCD. Vaatame neid kõiki.

API server: API-server toimib kõigi klastri juhtimiseks kasutatavate REST-käskude sisenemispunktina.

Scheduler

Planeerija ajastab ülesanded alamsõlmele. See salvestab iga alluva sõlme ressursikasutuse teabe. Ta vastutab töökoormuse jaotamise eest.

Samuti aitab see jälgida, kuidas klastri sõlmedes töökoormust kasutatakse. See aitab teil töökoormust paigutada olemasolevatele ressurssidele ja töökoormusega nõustuda.

jne

etcd komponendid salvestavad konfiguratsiooni üksikasju ja Wrighti väärtusi. Käskude vastuvõtmiseks ja töötamiseks suhtleb see enamiku komponentidega. Samuti haldab see võrgureegleid ja pordi edastamise tegevust.

Töötaja/orja sõlmed

Töötajate sõlmed on veel üks oluline komponent, mis sisaldab kõiki nõutavaid teenuseid konteineritevahelise võrgu haldamiseks, põhisõlmega suhtlemiseks, mis võimaldab teil planeeritud konteineritele ressursse määrata.

  • Kubelet: hangib API serverist Podi konfiguratsiooni ja tagab, et kirjeldatud konteinerid on töökorras.
  • Dockeri konteiner: laevalaadija konteiner töötab igas töötaja sõlmes, mis käitab konfigureeritud kaustasid
  • Kube-puhverserver: Kube-puhverserver toimib koormuse tasakaalustajana ja võrgupuhverserverina, et osutada teenust ühes töötaja sõlmes
  • Kaunad: Pod on kombinatsioon ühest või mitmest konteinerist, mis loogiliselt sõlmedes koos jooksevad

Muud põhiterminid

Replikatsioonikontrollerid

Replikatsioonikontroller on objekt, mis määratleb taskumalli. Samuti juhib see parameetreid, et skaleerida Podi identseid koopiaid horisontaalselt, suurendades või vähendades jooksvate koopiate arvu.

Replikatsioonikomplektid

Replikatsioonikomplektid kujutavad endast interaktsiooni replikatsioonikontrolleri kujunduses, mis võimaldab paindlikult kontrolleri haldamiseks mõeldud kaustade tuvastamist. See asendab replikatsioonikontrollereid nende suurema replikatsioonivaliku võimaluse tõttu.

kasutuselevõttu

Juurutamine on tavaline töökoormus, mida saab otse luua ja hallata. Juurutamiseks kasutatakse replikatsioonikomplekti ehitusplokina, mis lisab elutsükli haldamise funktsiooni.

Olekupõhised komplektid

See on spetsiaalne pod-juhtseade, mis pakub järjestamist ja ainulaadsust. Seda kasutatakse peamiselt täpsema juhtimise jaoks, mida teil on eriti vaja seoses juurutamisjärjekorra, stabiilse võrgunduse ja püsivate andmetega.

Deemonikomplektid

Deemonikomplektid on veel üks spetsiaalne pod-kontrolleri vorm, mis käitab podi koopiat igas klastri sõlmes. Seda tüüpi pod-kontroller on tõhus meetod kaustade juurutamiseks, mis võimaldab teil teha hooldust ja pakub teenuseid sõlmedele endile.

Kubernetes vs Docker Swarm

Siin on olulised erinevused Kubernetes vs Docker.

Parameeter Dockeri sülem Kubernetes
Scaling Automaatne skaleerimine puudub Automaatne skaleerimine
Koormuse tasakaalustamine Kas koormuse automaatne tasakaalustamine Konfigureerige oma koormuse tasakaalustamise seaded käsitsi
Salvestusmahu jagamine Jagab salvestusmahtu mis tahes muu konteineriga Jagab salvestusmahtu mitme konteineri vahel samas kambris
Sisselogimis- ja jälgimistööriista kasutamine Kasutage 3rd peotööriist nagu ELK Pakkuge logimiseks ja jälgimiseks sisseehitatud tööriista.
paigaldamine Lihtne & kiire Keeruline ja aeganõudev
GUI GUI pole saadaval GUI on saadaval
Skaalautuvus Suurendamine on kiirem kui K8S, kuid klastri tugevus pole nii tugev Suurendamine on Swarmiga võrreldes aeglane, kuid tagab tugevama klastri oleku Koormuse tasakaalustamine nõuab käsitsi hoolduse seadistamist
Koormuse tasakaalustamine Pakub sisseehitatud koormuse tasakaalustamise tehnikat Protsessi ajastamine teenuste hooldamiseks värskendamise ajal
Värskendused ja tagasipööramised Andmemahtude logimine ja jälgimine Järkjärgulised värskendused ja teenuse tervise jälgimine. Jagatakse ainult konteineritega samasse Podi sisseehitatud logimis- ja jälgimistööriistadesse.

Kubernetese eelised

  • Lihtne teeninduse korraldamine kaunadega
  • Selle on välja töötanud Google, kes toob lauale aastatepikkuse väärtusliku tööstuskogemuse
  • Suurim kogukond konteinerite orkestreerimistööriistade seas
  • Pakub mitmesuguseid salvestusvõimalusi, sealhulgas kohapealseid, SAN-e ja avalikke pilvi
  • Järgib muutumatu infrastruktuuri põhimõtteid
  • Kubernetes saab käitada kohapealseid paljasmetalli, OpenStacki ja avalikke pilvi Google, Azure, AWSJne
  • Aitab teil vältida hankija lukustusprobleeme, kuna see võib kasutada mis tahes hankijapõhiseid API-sid või teenuseid, välja arvatud juhul, kui Kubernetes pakub abstraktsiooni, nt koormuse tasakaalustaja ja salvestusruum.
  • Kubernetesi abil konteinerisse paigutamine võimaldab paketttarkvaral neid eesmärke täita. See võimaldab rakendusi, mida tuleb vabastada ja värskendada ilma seisakuta.
  • Kubernetes võimaldab teil tagada, et konteinerrakendused töötavad seal, kus ja millal soovite, ning aitab teil leida ressursse ja tööriistu, mida soovite töötada.

Kubernetese puudused

  • Kubenetesi armatuurlaud pole nii kasulik kui peaks
  • Kubernetes on veidi keeruline ja ebavajalik keskkondades, kus kogu arendus toimub kohapeal.
  • Turvalisus ei ole eriti tõhus.

kokkuvõte

  • Konteiner aitab organisatsioonil hooldust ja värskendamist teostada ilma teenuseid katkestamata
  • Kubernetes on näide Google'i platvormil välja töötatud konteinerihaldussüsteemist.
  • Kubernetese kasutamise suurim eelis on see, et see suudab käitada kohapealset OpenStacki, Google'i avalikke pilvi, Azure, AWS jne.
  • Kubernetes pakub automatiseeritud ajastamise ja enesetervendamise võimalusi.
  • Cluster, juht, sõlm ja nimeruum on kubernetese olulised põhielemendid
  • Põhisõlm ja töösõlm on Kubernetese arhitektuuri olulised komponendid.
  • Replikatsioonikontrollerid, replikatsioonikomplektid, juurutused, olekupõhised komplektid, deemonikomplektid on teised olulised Kubernetes kasutatavad terminid.
  • Dockeri sülem ei luba automaatset skaleerimist, samas kui Kubernetes lubab automaatset skaleerimist.
  • Kubenetese suurim puudus on see, et selle armatuurlaud pole eriti kasulik ja tõhus