Kubernetes apmācība - visaptveroša rokasgrāmata Kubernetes



Šis Kubernetes apmācības emuārs iepazīstinās jūs ar visiem konteineru orķestrēšanas sistēmas jēdzieniem ar praktisku roku.

Kubernetes ir platforma, kas novērš manuālos procesus, kas saistīti ar konteinerizētu lietojumprogrammu izvietošanu. Šajā Kubernetes apmācības emuārā jūs iepazīsities ar visiem jēdzieniem, kas saistīti ar šo daudzkonteineru pārvaldības risinājumu.

Šajā apmācībā tiks aplūkotas šādas tēmas:





Tagad, pirms virzīties uz priekšu šajā emuārā, ļaujiet man ātri informēt jūs par konteinerizēšanu.

Tātad, pirms konteineri sāka darboties, izstrādātājiem un testētājiem vienmēr bija atšķirība. Parasti tas notika tāpēc, ka tas, kas darbojās izstrādes pusē, nedarbosies testēšanas pusē. Abas no tām pastāvēja dažādās vidēs. Tagad, lai izvairītos no šādiem gadījumiem, tika ieviesti konteineri, lai gan izstrādātāji, gan testētāji atrastos vienā un tajā pašā lapā.



Problēma bija arī visu konteineru apstrāde kopā. Dažreiz, braucot ar konteineriem, no produkta puses tika izvirzīti daži jautājumi, kuru izstrādes posmā nebija. Šāda veida scenāriji ieviesa konteineru orķestrēšanas sistēmu.

ir un viņam ir attiecības java

Pirms es dziļi ienirstu orķestrēšanas sistēmā, ļaujiet man ātri uzskaitīt problēmas, ar kurām jāsaskaras bez šīs sistēmas.



Kubernetes apmācība: izaicinājumi bez konteineru orķestrēšanas

Izaicinājumi bez konteineru orķestrēšanas - Kubernetes apmācība - Edureka

Kā redzat iepriekš redzamajā diagrammā, kad konteineros darbojas vairāki pakalpojumi, iespējams, vēlēsities mērogot šos konteinerus. Lielās rūpniecības nozarēs to ir patiešām grūti izdarīt. Tas ir tāpēc, ka tas palielinātu pakalpojumu uzturēšanas izmaksas un sarežģītību, kā tos apkalpot.

Tagad, lai izvairītos no pakalpojumu manuālas iestatīšanas un problēmu pārvarēšanas, bija nepieciešams kaut kas liels. Šeit attēlā parādās Container Orchestration Engine.

Šis dzinējs ļauj mums organizēt vairākus konteinerus tā, lai palaistu visas pamatā esošās mašīnas, konteineri būtu veseli un izplatīti kopu veidotā vidē. Mūsdienu pasaulē galvenokārt ir divi šādi dzinēji: Gubernatori & Dokera bars .

Kubernetes apmācība: Kubernetes vs Docker Swarm

Gubernatori un Dokera bars ir vadošie konteineru orķestrēšanas rīki mūsdienu tirgū. Tātad, pirms tos lietojat prod, jums vajadzētu zināt, kas tieši tie ir un kā viņi darbojas.

Turklāt emuārā es plānoju dziļi ienirt Kubernetes, bet, lai uzzinātu par Docker, varat noklikšķināt .

Kā jūs varat atsaukties uz iepriekš minēto attēlu, Kubernetes, salīdzinot ar Docker Swarm, pieder lielai aktīvai kopienai un nodrošina automātisku mērogošanu daudzās organizācijās. Līdzīgi kā Docker Swarm, salīdzinot ar Kubernetes, ir viegli startējams kopums, taču tas ir ierobežots ar Docker API iespējām.

Nu, ļaudis, šīs nav vienīgās atšķirības starp šiem galvenajiem rīkiem. Ja vēlaties uzzināt detalizētas atšķirības starp abiem šiem konteineru orķestrēšanas rīkiem, varat noklikšķināt

Vai vēlaties uzzināt vairāk par Kubernetes?

Ja es varētu izvēlēties savu izvēli starp abiem, tad tam vajadzētu būt Kubernetes, jo konteineri ir jāpārvalda un jāsavieno ar ārpasauli tādiem uzdevumiem kā plānošana, slodzes līdzsvarošana un izplatīšana.

Bet, ja jūs domājat loģiski, Docker Swarm būtu labāks variants, jo tas darbojas virs Docker, vai ne? Ja es būtu tu, es noteikti būtu apjucis, kuru rīku izmantot. Bet, hei, Kubernetes ir neapstrīdams tirgus līderis un darbojas arī virs Docker konteineriem ar labākām funkcijām.

Tagad, kad esat sapratis Kubernetes nepieciešamību, ir piemērots laiks, ko es jums saku Kas ir Kubernetes?

Kubernetes apmācība: Kas ir Kubernetes?

ir atvērtā koda sistēma, kas veic konteineru plānošanas darbu skaitļošanas klasterī un pārvalda slodzes, lai nodrošinātu, ka tās darbojas, kā lietotājs plāno. Tā kā Google ir ideja, tā piedāvā lielisku kopienu un lieliski sadarbojas ar visiem mākoņu nodrošinātājiem, lai kļūtu par vairāku konteineru pārvaldības risinājums.

Kubernetes apmācība: Kubernetes funkcijas

Kubernetes funkcijas ir šādas:

  • Automatizēta plānošana: Kubernetes nodrošina uzlabotu plānotāju konteinera palaišanai klastera mezglos, pamatojoties uz to resursu prasībām un citiem ierobežojumiem, vienlaikus nezaudējot pieejamību.
  • Pašārstēšanās spējas: Kubernetes ļauj nomainīt un pārcelt konteinerus, kad mezgli mirst. Tas arī nogalina konteinerus, kas nereaģē uz lietotāja definētu veselības pārbaudi, un nereklamē tos klientiem, kamēr viņi nav gatavi kalpot.
  • Automatizēta ieviešana un atcelšana: Kubernetes izlaiž izmaiņas lietojumprogrammā vai tās konfigurācijā, vienlaikus pārraugot lietojumprogrammas stāvokli, lai nodrošinātu, ka tā vienlaikus nenogalina visus jūsu gadījumus. Ja kaut kas noiet greizi, izmantojot Kubernetes, varat atsaukt izmaiņas.
  • Horizontālā mērogošana un slodzes līdzsvarošana: Kubernetes var palielināt un samazināt lietojumprogrammu atbilstoši prasībām ar vienkāršu komandu, izmantojot lietotāja saskarni vai automātiski, pamatojoties uz CPU lietojumu.

Kubernetes apmācība: Kubernetes arhitektūra

Kubernetes arhitektūrai ir šādas galvenās sastāvdaļas:

  • Meistars pamāj
  • Darbinieka / verga mezgli

Es gatavojos apspriest katru no tiem pa vienam. Tātad, sākumā sāksim ar Galvenais mezgls .

Galvenais mezgls

Galvenais mezgls ir atbildīgs par Kubernetes kopas pārvaldību. Tas galvenokārt ir visu administratīvo uzdevumu sākumpunkts. Klasterī var būt vairāki galvenie mezgli, lai pārbaudītu kļūdu toleranci.

Kā redzat iepriekš redzamajā diagrammā, galvenajam mezglam ir dažādi komponenti, piemēram, API serveris, kontrolieru pārvaldnieks, plānotājs un ETCD.

  • API serveris: API serveris ir ieejas punkts visām komandām REST, kas tiek izmantotas klastera kontrolei.
  • Kontrolieru pārvaldnieks: Ir dēmons, kas regulē Kubernetes kopu un pārvalda dažādas nebeidzamās vadības cilpas.
  • Plānotājs: Plānotājs plāno uzdevumus vergu mezgliem. Tajā tiek glabāta katra verga mezgla resursu izmantošanas informācija.
  • ETCD: ETCD ir vienkāršs, izplatīts, konsekvents atslēgu vērtību veikals. To galvenokārt izmanto koplietošanas konfigurēšanai un pakalpojumu atklāšanai.

Darbinieka / verga mezgli

Darbinieku mezglos ir visi nepieciešamie pakalpojumi, lai pārvaldītu tīklu izveidi starp konteineriem, sazinātos ar galveno mezglu un piešķirtu resursus ieplānotajiem konteineriem.

Kā redzat iepriekšējā diagrammā, strādnieka mezglā ir dažādi komponenti, piemēram, Docker Container, Kubelet, Kube-proxy un Pods.

  • Docker konteiners: Dokers darbojas uz katra no darbinieka mezgliem un palaiž konfigurētās pākstis
  • Kubelet: Kubelet iegūst Pod konfigurāciju no API servera un nodrošina aprakstīto konteineru darbību un darbību.
  • Kubas pilnvarnieks: Kube-proxy darbojas kā tīkla starpniekserveris un slodzes līdzsvarotājs pakalpojumam vienā darba ņēmēja mezglā
  • Pākstis: Pod ir viens vai vairāki konteineri, kas loģiski darbojas kopā mezglos.

Ja vēlaties detalizētu paskaidrojumu par visām Kubernetes arhitektūras sastāvdaļām, varat atsaukties uz mūsu emuārs vietnē

Vai vēlaties iegūt sertifikātu Kubernetes?

Kubernetes apmācība: Kubernetes gadījumu izpēte

ahoo! JAPĀNA ir tīmekļa pakalpojumu sniedzējs, kura galvenā mītne atrodas Sunnyvale, Kalifornijā. Tā kā uzņēmuma mērķis bija virtualizēt aparatūru, uzņēmums sāka to izmantot OpenStack Viņu iekšējā vide mainījās ļoti ātri. Tomēr, pateicoties mākoņu un konteineru tehnoloģiju attīstībai, uzņēmums vēlējās kapuspēja uzsākt pakalpojumus dažādās platformās.

Problēma: Kā no viena lietojumprogrammas koda izveidot attēlus visām nepieciešamajām platformām un izvietot šos attēlus katrā platformā?

Lai labāk izprastu, skatiet zemāk redzamo attēlu. Kad kods tiek mainīts kodu reģistrā, tad kailā metāla attēli, Docker konteineri un VM attēli tiek izveidoti ar nepārtrauktas integrācijas rīkiem, tiek ievietoti attēlu reģistrā un pēc tam izvietoti katrā infrastruktūras platformā.


Tagad pievērsīsimies konteineru darbplūsmai, lai saprastu, kā viņi izmantoja Kubernetes kā izvietošanas platformu. Skatiet zemāk esošo attēlu, lai ielūkotos platformas arhitektūrā.

Tiek izmantoti OpenStack gadījumi, kuru augšpusē ir Docker, Kubernetes, Calico utt., Lai veiktu dažādas darbības, piemēram, Container Networking, Container Registry utt.

Kad jums ir vairākas kopas, tad ir grūti tos pareizi pārvaldīt?

Tātad viņi vienkārši vēlējās izveidot vienkāršu, vienkāršu OpenStack kopu, lai nodrošinātu Kubernetes nepieciešamo pamata funkcionalitāti un padarītu OpenStack vidi vieglāk pārvaldāmu.

android studijas konsultācijas iesācējiem

Izmantojot attēlu veidošanas darbplūsmas un Kubernetes kombināciju, viņi izveidoja zemāk esošo rīku ķēdi, kas atvieglo koda virzīšanu līdz izvietošanai.


Šāda veida rīku ķēde pārliecinājās, ka tiek ņemti vērā visi ražošanas izvietošanas faktori, piemēram, daudzdzīvokļu īre, autentifikācija, glabāšana, tīklošana, pakalpojumu atklāšana.

Tā ļaudis, Yahoo! JAPĀNA izveidoja automatizācijas rīku ķēdi koda izvietošanai ar vienu klikšķi uz Kubernetes, kas darbojas OpenStack, ar palīdzību no Google un Solinea .

Gubernatoru apmācība: rokas

Šajā rokasgrāmatā es jums parādīšu, kā izveidot izvietošanu un pakalpojumu. Kubernetes izmantošanai es izmantoju Amazon EC2 instanci. Nu, Amazon ir nācis klajā Amazon elastīgo konteineru serviss priekš Gubernatori (Amazon EKS) , kas ļauj viņiem ļoti ātri un viegli mākoņā izveidot Kubernetes kopas. Ja vēlaties uzzināt vairāk par to, varat atsaukties uz emuāru

1. darbība: Pirmkārt izveidot mapi kurā izveidosiet izvietošanu un servisu. Pēc tam izmantojiet redaktoru un atveriet izvietošanas failu .

mkdir handsOn cd rokasOn vi Deploy.yaml

2. darbība: Atverot izvietošanas failu, pieminējiet visas tās lietojumprogrammas specifikācijas, kuru vēlaties izvietot. Šeit es mēģinu izvietot httpd pieteikumu.

apiVersion: apps / v1 # Definē API versijas veidu: Deployment #Kinds parametrs nosaka, kāda veida fails tas ir, šeit ir izvietošanas metadati: nosaukums: dep1 # Uzglabā izvietošanas specifikācijas nosaukumu: # Sadaļā Specifikācijas jūs pieminējat visus izvietošanas kopiju specifikācijas: 3 # Repliku skaits būtu 3 selektors: matchLabels: lietotne: httpd # Etiķetes nosaukums, kas tiktu meklēts, ir httpd veidne: metadati: uzlīmes: lietotne: httpd # Parauga nosaukums būtu httpd spec: # Zem Specifikācijās jūs minat visas konteineru konteineru specifikācijas: - nosaukums: httpd # Konteineru nosaukums būtu httpd attēls: httpd: jaunākais # Lejupielādējamais attēls ir httpd: jaunākie porti: - containerPort: 80 #Pieteikums būtu pakļauti 80. ostā

3. solis: Pēc izvietošanas faila uzrakstīšanas izmantojiet izvietošanu, izmantojot šo komandu.

kubectl apply -f Deploy.yaml

Šeit -f ir karoga nosaukums, ko izmantotviņš iesniedz failunosaukums.

4. solis: Tagad, kad izvietošana ir piemērota, iegūstiet palaisto pākšaugu sarakstu.

kubectl iegūt pākstis-pārāk platas

Šeit -o wide tiek izmantoti, lai uzzinātu, kurā mezglā darbojas izvietošana.

5. darbība: Pēc izvietošanas izveides tagad ir jāizveido pakalpojums. Atkal izmantojiet redaktoru un atveriet tukšu apkalpošana. yaml fails .

vi service.yaml

6. solis: Atverot servisa failu, pieminējiet visas pakalpojuma specifikācijas.

apiVersion: v1 # Definē API versijas veidu: Service #Kinds parametrs nosaka, kāda veida fails tas ir, šeit ir Pakalpojuma metadati: nosaukums: netsvc # Uzglabā pakalpojuma specifikācijas nosaukumu: # Sadaļā Specifikācijas jūs pieminējat visas specifikācijas pakalpojuma tipam: NodePort selector: app: httpd ports: -protokol: TCP port: 80 targetPort: 8084 #Mērķa porta numurs ir 8084

7. solis: Pēc servisa faila uzrakstīšanas lietojiet servisa failu, izmantojot šo komandu.

kubectl pieteikties -f service.yaml

8. solis: Tagad, kad jūsu pakalpojums ir lietots, lai pārbaudītu, vai pakalpojums darbojas vai neizmanto šo komandu.

kubectl iegūt svc

9. solis: Tagad, lai redzētu pakalpojuma specifikācijas un pārbaudītu, kurš galapunkts tas irpiesaistīts, izmantojiet šādu komandu.

kubectl aprakstīt svc

10. solis: Tā kā mēs izmantojam amazon ec2 instanci, lai ielādētu vietni un pārbaudītu izvadi, izmantojiet šo komandu.

čokurošanās ip-adrese

Ja jums šis Kubernetes apmācības emuārs šķita atbilstošs, skatiet vietni Autors: Edureka, uzticams tiešsaistes mācību uzņēmums ar vairāk nekā 250 000 apmierinātu izglītojamo tīklu visā pasaulē.

Vai mums ir jautājums? Lūdzu, pieminējiet to komentāru sadaļā Kubernetes apmācība ”Un es sazināšos ar jums.