Kubernetese õpetus algajatele

⚡ Nutikas kokkuvõte

Kubernetes on avatud lähtekoodiga konteinerite haldussüsteem, mille on välja töötanud Google mis automatiseerib konteinerrakenduste juurutamist, skaleerimist ja käitamist füüsiliste, virtuaalsete ja pilveserverite klastrites, pakkudes isetervendavaid funktsioone, automatiseeritud juurutusi, koormuse tasakaalustamist ja järjepidevaid keskkondi usaldusväärseks rakenduste edastamiseks.

  • ☸️ Kubernetes defineeritud: Avatud lähtekoodiga konteinerite haldussüsteem ettevõttelt Google klasterdatud rakenduste jaoks.
  • 📦 Miks konteinerid: Konteinerid pakuvad kõike, mida rakendus vajab, võimaldades värskendusi ja hooldust ilma seisakuteta.
  • ⚙️ Peamised omadused: Automatiseeritud ajastamine, iseparandamine, kasutuselevõtt/tagasipöördumine, horisontaalne skaleerimine ja koormuse tasakaalustamine.
  • 🧱 Põhikomponendid: Cluster, põhisõlm (API-server, ajakava jne), töötajasõlmed ja pod'id.
  • 🆚 vs Docker Swarm: Kubernetes pakub automaatset skaleerimist ja sisseehitatud jälgimist; Swarm on lihtsam ja kiirem paigaldada.
  • Eelised ja puudused: Töötab mis tahes suure kogukonnaga pilves, kuid sellel on keerukas armatuurlaud ja seadistus.

Kubernetese õpetus algajatele

Enne selle Kubernetese õpetuse alustamist õpime:

Mis on Kubernetes?

Kubernetes on konteinerite haldussüsteem, mis on välja töötatud Google platvorm. Kubernetes aitab hallata konteinerdatud rakendusi erinevates füüsilistes, virtuaalsetes ja pilvekeskkondades. Google Kubernetes on väga paindlik konteinertööriist, mis võimaldab järjepidevalt pakkuda keerukaid rakendusi, mis töötavad sadadest kuni tuhandetest üksikutest serveritest koosnevates 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üsteemides. See aitab teil olla abstract sõlmede (serverite) aluseks olevat riistvara ja pakub järjepidevat liidest rakendustele, mis tarbivad jagatud ressursikogumit.

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 sco jaoks.ping klastrile juurdepääs või selle jagamine.

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.

See aitab teil ka tracKuidas klastri sõlmede töökoormust kasutatakse. See aitab teil töökoormust jaotada saadaolevatele ressurssidele, mis seda aktsepteerivad.

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 toovad lauale aastaid väärtuslikku kogemust selles valdkonnas
  • 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 vältida müüjalukuga seotud probleeme, kuna see saab kasutada mis tahes müüjapõhiseid API-sid või teenuseid, välja arvatud juhul, kui Kubernetes pakub absoluutset lukku.tractsioon, 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.

KKK

Pod on Kuberneteses väikseim juurutatav üksus. See koondab ühe või mitu konteinerit, mis jagavad salvestusruumi, võrku ja spetsifikatsiooni selle kohta, kuidas neid käitada, ning need on koos ühel sõlmel ajastatud.

Docker on konteinerite käituskeskkond, mis loob ja käitab konteinereid, samas kui Kubernetes on orkestreerimissüsteem, mis haldab, skaleerib ja ajastab konteinereid klastrite vahel. Neid kasutatakse sageli koos.

Jah. Kubernetes on avatud lähtekoodiga ja Apache 2.0 litsentsi alusel tasuta. Selle käitamine hallatud pilveteenustes (nt GKE, EKS või AKS) võib aga kaasa tuua taristu- ja teenusekulusid.

Tehisintellekt aitab Kubernetesit ressursivajaduste ennustamise, töökoormuste automaatse skaleerimise, anomaaliate tuvastamise ja ajastamise optimeerimise abil. AIOps tööriistad analüüsivad klastri mõõdikuid ja logisid, et parandada töökindlust ja vähendada käsitsi toiminguid.

Jah. Tehisintellekti assistendid saavad genereerida YAML-i manifeste, tõrkeotsingut ebaõnnestunud podide puhul, soovitada õiget suurust ja selgitada klastri sündmusi, aidataping meeskonnad haldavad Kubernetes'i tõhusamalt ja väiksema käsitsi pingutusega.

Võta see postitus kokku järgmiselt: