Sisukord[Peida][Näita]
- 1. Mis on Kubernetes?
- 2. Mida sa Kubernetes konteineri all silmas pead?
- 3. Millised on Kubernetese põhikomponendid?
- 4. Mida sa kubernetes orkestratsiooni all mõtled?
- 5. Mis täpselt on Kubernetese klaster?
- 6. Kuidas muudab Kubernetes konteinerites kasutuselevõtu lihtsamaks?
- 7. Millised põhimõttelised erinevused on Kubernetese ja Docker Swarmi vahel?
- 8. Mis on Kubernetes nimeruum?
- 9. Mis täpselt on Kubernetes etcd põhikomponent?
- 10. Milliseid lahendusi on Kubernetes API turvalisuse jaoks?
- 11. Millised on hostidele ja konteineritele juurutatud rakenduste erinevused?
- 12. Mida sa tegelikult Minikube all mõtled?
- 13. Kuidas saab Kubernetese klastrit jälgida?
- 14. Millist funktsiooni Kubernetese sõlmed täidavad?
- 15. Iseloomusta hipsterit üksikasjalikult.
- 16. Kirjeldage Kubernetese põhisõlme tööd.
- 17. Mis eristab anumat kaunast?
- 18. Mida mõistate Kubernetes koormuse tasakaalustaja all?
- 19. Millist funktsiooni Kube-API server täidab?
- 20. Mida tähendavad Kubernetese olekulised komplektid?
- 21. Kuidas uurite kauna keskseid palke?
- 22. ClusterIP: mis see on?
- 23. Rääkige mulle replikatsioonikontrolleritest?
- 24. Kuidas Ingressi võrk toimib ja mis see on?
- 25. Prometheus Kubernetes: milleks see on?
- 26. Mis on peata teenus?
- 27. Mida ma vajan Kubernetese arhitektuuri lokaalseks käitamiseks?
- 28. Mida mõistate Stateful komplekti all?
- 29. Mida tähendavad Kuberneteses käsilased?
- 30. Milliseid funktsioone teenused Kubernetese komponentides täidavad?
- 31. Mis täpselt on Helm?
- 32. Selgitage PVC
- Järeldus
Google lõi 2014. aastal algselt avatud lähtekoodiga konteinerite orkestreerimistehnoloogia Kubernetes. Konteinerirakenduste juurutamine, skaleerimine ja haldamine pidi olema kõik automatiseeritud.
Kubernetes on aja jooksul arenenud, et saada tööstusharu de facto standardiks konteinerite orkestreerimisel ja seda kasutavad laialdaselt igas suuruses ettevõtted oma töökoormuse haldamiseks konteinerites.
Kubernetese tähtsus kaasaegses maailmas seisneb selle võimes pakkuda ühtset meetodit konteinerrakenduste mastaabis haldamiseks, mis hõlmab erinevaid klastreid ja pilvekeskkondi. Tänu sellele saavad ettevõtted hallata, laieneda ja juurutada oma rakendusi kiiresti ja tõhusalt.
Konteinerirakenduste hooldust muudab veelgi lihtsamaks Kubernetese ulatuslik funktsioonide komplekt, mis sisaldab enesetervendamist, automaatset skaleerimist ja jooksvaid uuendusi.
Kuna üha rohkem ettevõtteid kasutab rakenduste arendamise ja juurutamise protsesside kiirendamiseks konteineriseerimist ja mikroteenuseid, peaks Kubernetese tegevusulatus tulevikus veelgi laienema.
Pilvepõhiste tehnoloogiate kasutuselevõtt ja üldine üleminek mitme pilve- ja hübriidpilvesüsteemidele sõltuvad mõlemad suuresti Kubernetesest. Kuna üha rohkem seadmeid on Internetiga ühendatud, kasutatakse ka Kubernetest üha enam servaarvutus ja IoT.
Eeldan, et olete nendest üksikasjadest juba teadlik, kuna loete seda Kubernetese intervjuuküsimuste postitust, mis teavitab teid kõige sagedamini küsitavatest intervjuuküsimustest. Alustagem.
1. Mis on Kubernetes?
Kubernetes on an avatud lähtekoodiga raamistik konteinerrakenduste orkestreerimiseks ja administreerimiseks. See võimaldab konteinerrakendusi järjepidevalt ja tõhusalt juurutada, skaleerida ja hooldada.
Kubernetes pakub üht meetodit konteinerrakenduste mastaabis haldamiseks ja on loodud töötama erinevates klastrites ja pilvekeskkondades.
Iseparanemine, automaatne skaleerimine ja jooksvad uuendused on vaid mõned võimalused, mis muudavad konteinerrakenduste haldamise veelgi lihtsamaks.
2. Mida sa Kubernetes konteineri all silmas pead?
Konteinerid on kaasaskantav, kerge ja isemajandav lähenemisviis tarkvara pakendamiseks ja käitamiseks. Rakenduste pakkimine ja juurutamine toimub Kubernetes konteinerite abil järjepidevalt ja tõhusalt.
Teistest konteineritest ja hostmasinast lahus hoidmiseks täidab iga konteiner ainult ühte protsessi. Rakenduse sõltuvused, teegid ja konfiguratsioonifailid sisalduvad konteineri kujutises, mis toimib konteineri määratlusena.
Tänu sellele, et Kubernetes kasutab konteinerite haldamiseks ja skaleerimiseks konteinerite orkestreerimist, töötab konteineri kavandatud arv koopiaid. See muudab arendajatel lihtsaks oma rakenduste haldamise ja juurutamise mitmes klastris ja pilvekeskkonnas.
3. Millised on Kubernetese põhikomponendid?
Siin on kubeneteri peamised komponendid:
- Kubernetese juht: see komponent, mis hõlmab ka kontrollerihaldurit ja planeerijat etcd (jaotatud võtmeväärtuste salvestus), API-serverit ja muid komponente, vastutab klastri kui terviku haldamise eest.
- Sõlmed: need on tööjaamad, milles konteinerprogramme käivitatakse. Kubelet, mis suhtleb ülemseadmega klastri kavandatud oleku säilitamiseks, käivitatakse igas sõlmes koos konteineri käitusajaga (nt Docker).
- Kaunad: Kubernetese objektimudeli väikseim ja elementaarseim element on pod, mis toimib ühe või mitme konteineri hostina.
- Teenused: teenused pakuvad kaustadele ühtset lõpp-punkti ning võimaldavad koormuse tasakaalustamist ja teenuste leidmist.
- Replikatsioonikontrollerid: need tagavad, et nõutav arv pod-koopiaid töötab alati.
- Saladused ja konfiguratsioonikaardid: neid ressursse kasutatakse kaunade ja muude klastriobjektide konfiguratsiooniandmete ja saladuste säilitamiseks.
4. Mida sa kubernetes orkestratsiooni all mõtled?
Kubernetesis viitab termin "orkestreerimine" konteinerite ja nendega ühendatud ressursside automatiseeritud haldamisele ja koordineerimisele. See hõlmab tegevusi, sealhulgas võrgu loomist, mastaapsust, juurutamist ja enesetervendamist. Kasutades selliseid objekte nagu kaustad, teenused ja replikatsioonikontrollerid, korraldab Kubernetes rakendusi.
Kaunad, mis mahutavad ühte või mitut konteinerit, on väikseimad kasutuselevõetavad üksused. Teenused haldavad koormuse tasakaalustamine ja teenuse avastamine ning anda kaustadele kindel lõpp-punkt. Tänu replikatsioonikontrolleritele töötab podi koopia alati vajaliku arvu koopiatega.
5. Mis täpselt on Kubernetese klaster?
Kubernetese klastri moodustavad sõlmede komplekt, mis käitavad konteinerrakendusi erinevates kontekstides ja masinates – pilvepõhises, füüsilises, virtuaalses ja kohapealses. See hõlbustab rakenduste lihtsat haldamist ja migreerimist ning nende loomist.
6. Kuidas muudab Kubernetes konteinerites kasutuselevõtu lihtsamaks?
Kuna tüüpiline rakendus töötaks konteinerite klastris paljudes hostides, peaksid kõik need konteinerid omavahel suhtlema.
Seega on selle saavutamiseks vaja suuremahulist süsteemi, mis suudab mahuteid skaleerida, koormata tasakaalu ja jälgida. Konteineri juurutamise hõlbustamiseks peate kasutama Kubernetest, kuna see on pilvagnostiline ja võib töötada mis tahes avaliku või erateenuse pakkujaga.
7. Millised põhimõttelised erinevused on Kubernetese ja Docker Swarmi vahel?
Ajastage ja koondage Dockeri konteinerid Docker Swarmiga, mis on Dockeri avatud lähtekoodiga konteinerite orkestreerimistööriist. Järgmised omadused eristavad Swarmi Kubernetesest:
- Kuigi mõlemal Kubernetesil ja Docker Swarmil puuduvad automaatse skaleerimise võimalused, on Dockeri skaleerimine viis korda kiirem kui Kubernetes.
- Kubernetes pakub GUI-d armatuurlaua kujul, kuid Docker Swarmil see puudub.
- Võrreldes Kubernetesiga, mida on keerulisem seadistada, kuid mis tagab tugeva klastri, on Docker Swarmi lihtsam installida, kuid sellel pole stabiilset klastrit.
- Kuigi Kubernetes sisaldab sisseehitatud logimise ja jälgimise võimalusi, vajab Docker väliseid tööriistu, nagu ELK-pinn.
- Jooksvaid värskendusi saab juurutada Dockeri kaudu, kuid automaatseid tagasipööramisi ei saa; Kubernetese abil saab juurutada jooksvaid värskendusi ja automaatseid tagasipööramisi.
8. Mis on Kubernetes nimeruum?
Kubernetese nimeruumi kasutatakse keskkonnas, kus laias geograafilises piirkonnas töötab mitu kasutajat paljude projektidega. Nimeruum jagab klastri ressursid mitme kasutaja vahel.
9. Mis täpselt on Kubernetes etcd põhikomponent?
Etcd on Kubernetese peaserveri oluline osa. Lisaks toimib see Kubernetese klastri keskusena, kus üksused salvestatakse hajutatud võtmeväärtuste poodi.
Replikatsioonitehnoloogiat kasutatakse koos algoritmiga serverite vahel etcd-sse salvestatud andmete säilitamiseks. Andmete võrdlemisel ja vahetamisel etcd serverite vahel kasutatakse optimistlikku valuutat lukustamisolukordade minimeerimiseks ja serveri kiiruse suurendamiseks.
10. Milliseid lahendusi on Kubernetes API turvalisuse jaoks?
API turvalisuse pakkumist saab teha järgmiselt:
- API autentimise kaudu
- API-serveri autentimisrežiimi jaoks sobiva autentimisrežiimi valimine = Node, RBAC
- RBAC-vigade jälgimine
- Tagada, et liikluse kaitsmiseks kasutatakse TLS-i
- Authorization-mode=Webhooki kasutamine tagamaks, et Kubeless kaitseb oma API-d
- Teenusekonto vaikeõiguste kaotamine
- Kasutatakse kube uusimat väljalaset
- Veenduge, et kube-armatuurlaud järgiks ranget RBAC-poliitikat
- Pod-turvapoliitika rakendamine, et piirata juurdepääsu konteinerile ja kaitsta sõlme
11. Millised on hostidele ja konteineritele juurutatud rakenduste erinevused?
Operatsioonisüsteem ja arhitektuur moodustavad juurutatud rakendused. Operatsioonisüsteemil on kernel, mis sisaldab mitut rakenduse jaoks vajalikku teeki.
Masinat, mis käitab protsessikonteinereid, nimetatakse konteineri hostiks. Kuna seda tüüpi tarkvara erineb teistest programmidest, peavad rakendused sisaldama vajalikke teeke. Binaarfailid ei saa rikkuda ühegi teise tarkvara õigusi, kuna need on ülejäänud süsteemist eraldatud.
12. Mida sa tegelikult Minikube all mõtled?
Minikube abil saab Kubernetese hõlpsalt kohapeal käivitada. See võimaldab virtuaalmasinal majutada Kubernetese klastrit ühe sõlmega.
13. Kuidas saab Kubernetese klastrit jälgida?
Kubernetese all töötavate konteinerite tööd ja olekut saab jälgida erinevate meetodite abil. Prometheus, üks sagedamini kasutatavaid instrumente, sisaldab mitmeid osi, mis on jaotatud järgmistes osades.
- Prometheuse server kogub ja salvestab aegridade andmeid.
- See sisaldab klienditeeke, mis hõlbustavad rakenduse koodi instrumenteerimist.
- Sellel on tõukevärav, mis toetab ajutisi töökohti.
- Eksportijatel on spetsiaalsed funktsioonid mitmesuguste konteinerteenuste jaoks, nagu StatsD, HAProxy, Graphite jne.
- Lisaks saate märguandehalduri, kes käsitleb teatisi erinevates tugisüsteemides.
14. Millist funktsiooni Kubernetese sõlmed täidavad?
Kaunade tööks pakub Node üliolulisi funktsioone. Noodid, mida tuntakse ka käsilastena, võivad olenevalt klastrist töötada mis tahes reaalses või virtuaalses arvutis.
Kubernetesis on sõlm peamine tööarvuti, samas kui põhikomponendid jälgivad iga sõlme eraldi.
15. Iseloomusta hipsterit üksikasjalikult.
Heapster ühendab kogu klastri andmed, mille Kubelet, mis käivitatakse igas sõlmes, genereerib. Seda konteinerihaldustööriista toetab see Kubernetese klaster ja see toimib kaunana nagu iga teinegi klastris.
Põhimõtteliselt tähendab see klastri iga sõlme leidmist ja masinas asuva Kubernetese agendi kasutamist andmete päringute tegemiseks klastri Kubernetese sõlmedest.
16. Kirjeldage Kubernetese põhisõlme tööd.
Peasõlm tõstab töötaja sõlmede valitsemis- ja juhtimissõlmi. See sarnaneb Kubernetese klastriga. Sõlmed vastutavad nii klastrihalduse kui ka kogu ressursside konfigureerimiseks ja haldamiseks kasutatava API eest. Spetsiaalsete kaustade eeliste tõttu saavad Kubernetese põhisõlmed töötada koos Kubernetese endaga.
17. Mis eristab anumat kaunast?
Replikatsiooniüksusena kasutab Kubernetes podi, mis on konteinerite rühm. Konteinerid on koodide kogum, mille rakenduse pod peaks looma. Samas kambris saavad konteinerid omavahel suhelda.
18. Mida mõistate Kubernetes koormuse tasakaalustaja all?
Üks levinumaid ja aktsepteeritumaid teenusega kokkupuute meetodeid on koormuse tasakaalustaja. Sõltuvalt töökeskkonnast on koormuse tasakaalustaja kas sisemine või väline koormuse tasakaalustaja.
Kui väline koormuse tasakaalustaja suunab liikluse väliselt koormuselt taustamoodulitele, tasakaalustab sisemine koormuse tasakaalustaja koormuse automaatselt ja määrab moodulitele vajaliku konfiguratsiooni.
19. Millist funktsiooni Kube-API server täidab?
API-objektide puhul kontrollib see tüüp ja pakub konfiguratsiooniteavet. See koosneb replikatsioonikontrolleritest, teenustest ja kaustadest. Lisaks pakub see REST-operatsioone ja klastri liidest. Kõik muud komponendid suhtlevad üksteisega selle ühise esiosa klastri oleku kaudu.
20. Mida tähendavad Kubernetese olekulised komplektid?
Olekuandvate rakenduste haldamiseks kasutatakse töökoormuse API-objekti, mida nimetatakse olekuteatavaks komplektiks. Seda kasutatakse kaubikute komplektide skaleerimiseks ja juurutuste haldamiseks. Olekuteabe kogumiga lingitavasse kettamällu salvestati ja ajakohastati olekuteave ja muud vastupidavad andmed.
21. Kuidas uurite kauna keskseid palke?
Kesksete logide toomiseks kaustast saate kasutada ühte kahest logimisstiilist.
- Kasutage logimisagenti sõlme tasemel.
- Külgkorvi konteiner ojas
- Kasutage metsaraiet koos külgkorvi konteineriga.
- Eksportige logid otse programmist
22. ClusterIP: mis see on?
Kubernetese vaiketeenus ClusterIP pakub sisemist klastri teenust (ilma välise juurdepääsuta), millele pääsevad juurde ka teised teie klastri rakendused.
23. Rääkige mulle replikatsioonikontrolleritest?
Kõigi kaua töötavate kaustade puhul toimivad järelevaatajatena replikatsioonikontrollerid. See tagab, et vajalik arv kaunasid on igal hetkel aktiivsed ja et igal kaunal või kaunade rühmal on ühtne struktuur.
Kui kaunasid on kavandatust rohkem, siis üleliigsed kaunad lõpetatakse. Lisaks vahetab kontroller kohe välja kõik vigased kaustad.
24. Kuidas Ingressi võrk toimib ja mis see on?
Kasutajad pääsevad teie Kubernetese teenustele juurde väljaspool Kubernetese klastrit tänu elemendile, mida nimetatakse sisendiks. Luues reeglid, mis määravad, millised sissetulevad ühendused teatud teenusteni jõuavad, saavad kasutajad juurdepääsu konfigureerida.
See API-objekt pakub marsruutimisreegleid, mis on vajalikud selleks, et juhtida, kuidas Kubernetese klastri teenustele pääsevad juurde külastajad väljaspool klastrit HTTPS/HTTP kaudu. Selle abil saavad kasutajad koostada liikluse marsruutimise reegleid kiiresti ja tõhusalt, ilma et peaksid tegema mitut koormuse tasakaalustajat või avama iga teenust sõlmedele.
25. Prometheus Kubernetes: milleks see on?
Rakenduse jälgimiseks ja hoiatamiseks olenevalt mõõdikutest kasutatakse avatud lähtekoodiga tööriistakomplekti nimega Prometheus. See pakub andmeskeemi ja päringukeelt ning suudab edastada mõõdikute teavet ja toiminguid. See võimaldab kasutada keelt paljudel instrumentaalsetel eesmärkidel.
Lisaks Alertmanagerile ja Grafanale pakub Prometheuse operaator lihtsat juurutamise ja K8-teenuste jälgimist.
26. Mis on peata teenus?
Peata teenus on teenus, mis kasutab IP-aadressi, kuid annab teavet ühendatud kaustade kohta, mitte koormuse tasakaalustamise kohta.
27. Mida ma vajan Kubernetese arhitektuuri lokaalseks käitamiseks?
Kubernetese integreerimiseks on mitu kohapealset taristut ümber kujundatud. Ladustuse, serverite ja võrkude integreerimiseks sujuvaks süsteemiks on vaja kõrgetasemelisi teadmisi.
Sobiva võrgu- ja salvestusriistvara valimine on Kubernetese jaoks hädavajalik, kuna see võimaldab suhelda salvestusressurssidega, koormuse tasakaalustajatega jne. Võrgu- ja salvestuskomponentide automatiseerimine on Kubernetese väärtuspakkumise põhikomponent.
28. Mida mõistate Stateful komplekti all?
Töökoormuse API üksust, mida nimetatakse olekuteatavaks komplektiks, kasutatakse olekuga rakenduste haldamiseks. Seda saab kasutada ka kaustade komplektide skaleerimiseks ja juurutuste haldamiseks. Plaadimälu, mis on ühendatud olekupõhise komplektiga, sisaldab olekuteavet ja muid andmeid olekupõhise komplekti jaoks.
29. Mida tähendavad Kuberneteses käsilased?
Kuberneteses nimetatakse sõlme töötaja masinaks; varem oli see tuntud kui minion. Klastri põhjal võib see olla virtuaalne arvuti või päris masin.
Iga sõlme juhivad Kubernetese põhikomponendid ja see sisaldab kaubikute käitamiseks vajalikke teenuseid. Konteineri käitusaeg, kubelet ja Kube-puhverserver sisalduvad sõlme pakutavates teenustes.
30. Milliseid funktsioone teenused Kubernetese komponentides täidavad?
Virtuaalse IP-aadressi pakkumise kaudu toimib teenus kaunade jaoks abstraktsioonina. Virtuaalne IP-aadress hõlbustab kasutajate ühenduste loomist kaunades töötavate konteineritega. See on komponent, mis määrab, kuidas konteinerid kaunadesse paigutatakse.
31. Mis täpselt on Helm?
CNF-i hooldatav Helmi rakenduspakettide haldusregister on Kubernetese jaoks saadaval. Eelkonfigureeritud Helmi graafikud saab alla laadida ja oma Kubernetese süsteemis juurutada. See on Kubernetese keskkonna üks populaarsemaid paketihalduslahendusi. DevOpsi meeskonnad saavad rakendusi tootmis- ja arenduskeskkondadesse juurutada, neid versioone muuta ja nende edenemist olemasolevate diagrammide abil jälgida.
32. Selgitage PVC
PVC on akronüüm sõnast Persistent Volume Claim. Kubernetes on kaunade jaoks taotlenud just seda salvestusruumi. Kasutaja teadmised aluseks oleva varustuse kohta pole vajalikud. Nimeruum, kus pod moodustatakse ja kuhu see väide tuleks esitada, peaks ühtima.
Järeldus
Kubernetese intervjuu küsimused ja vastused on täielikud.
Kahtlemata on veel õppida Kubernetese – tipptehnoloogia kohta, mis on muutnud tuhandete konteinerite haldamise ja käitamise teostatavaks, kuid see on hea koht alustamiseks. Intervjuu ettevalmistamisel abi saamiseks vt Hashdorki intervjuude sari.
Jäta vastus