Obsah[Skryť][Šou]
- 1. Čo je Kubernetes?
- 2. Čo myslíš tým kontajnerom v Kubernetes?
- 3. Aké sú hlavné komponenty Kubernetes?
- 4. Čo myslíš pod pojmom orchestrácia v kubernetes?
- 5. Čo je to vlastne klaster Kubernetes?
- 6. Ako Kubernetes zjednodušuje nasadenie kontajnerov?
- 7. Aké základné rozdiely existujú medzi Kubernetes a Docker Swarm?
- 8. Čo je menný priestor v Kubernetes?
- 9. Čo presne je hlavný komponent Kubernetes etcd?
- 10. Aké riešenia existujú na zabezpečenie API na Kubernetes?
- 11. Aké sú rozdiely medzi aplikáciami nasadenými na hostiteľoch a kontajneroch?
- 12. Čo vlastne myslíš pod pojmom Minikube?
- 13. Ako je možné monitorovať klaster Kubernetes?
- 14. Akú funkciu plnia uzly Kubernetes?
- 15. Podrobne opíšte hipstera.
- 16. Popíšte fungovanie hlavného uzla Kubernetes.
- 17. Čo odlišuje nádobu od puzdra?
- 18. Čo rozumiete pod pojmom load balancer v Kubernetes?
- 19. Akú funkciu vykonáva server Kube-API?
- 20. Čo znamenajú stavové množiny Kubernetes?
- 21. Ako skúmate centrálne záznamy modulu?
- 22. ClusterIP: Čo je to?
- 23. Povedzte mi o replikačných radičoch?
- 24. Ako funguje sieť Ingress a čo to je?
- 25. Prometheus v Kubernetes: na čo slúži?
- 26. Čo je to bezhlavá služba?
- 27. Čo potrebujem na lokálne spustenie architektúry Kubernetes?
- 28. Čo rozumiete pod pojmom Stateful set?
- 29. Čo znamenajú prisluhovači v Kubernetes?
- 30. Aké funkcie vykonávajú služby v rámci komponentov Kubernetes?
- 31. Čo je to vlastne Helm?
- 32. Vysvetlite PVC
- záver
Google pôvodne vytvoril Kubernetes, open-source technológiu na orchestráciu kontajnerov, v roku 2014. Nasadzovanie, škálovanie a správa kontajnerových aplikácií mali byť automatizované.
Kubernetes sa v priebehu času vyvinul, aby sa stal de facto štandardom v odvetví pre orchestráciu kontajnerov a je široko používaný podnikmi všetkých veľkostí na riadenie ich pracovného zaťaženia v kontajneroch.
Význam Kubernetes v modernom svete spočíva v jeho schopnosti ponúkať konzistentnú metódu správy kontajnerových aplikácií vo veľkom rozsahu, ktoré zahŕňajú rôzne klastre a cloudové prostredia. Vďaka tomu môžu podniky spravovať, rozširovať a nasadiť svoje aplikácie rýchlo a efektívne.
Údržba kontajnerových aplikácií je ďalej uľahčená rozsiahlou sadou funkcií Kubernetes, ktorá zahŕňa samoliečbu, automatické škálovanie a priebežné inovácie.
Keďže stále viac firiem používa kontajnerizáciu a mikroslužby na urýchlenie ich vývoja aplikácií a postupov nasadenia, očakáva sa, že rozsah Kubernetes sa bude v budúcnosti rozširovať.
Prijatie cloudových natívnych technológií a všeobecný prechod na multicloudové a hybridné cloudové systémy budú do veľkej miery závisieť od Kubernetes. Keďže stále viac zariadení je pripojených k internetu, Kubernetes sa bude čoraz viac využívať aj v kontexte hrany a IoT.
Predpokladám, že si už tieto podrobnosti uvedomujete, pretože čítate tento príspevok na Kubernetes Interview Questions, ktorý vás bude informovať o najčastejšie kladených otázkach na pohovore. Poďme začať.
1. Čo je Kubernetes?
Kubernetes je open-source rámec pre orchestráciu a správu kontajnerových aplikácií. Umožňuje konzistentne a efektívne nasadzovať, škálovať a udržiavať kontajnerizované aplikácie.
Kubernetes ponúka jedinú metódu správy kontajnerových aplikácií vo veľkom meradle a je navrhnutý tak, aby fungoval v rôznych klastroch a cloudových prostrediach.
Samoliečenie, automatické škálovanie a priebežné inovácie sú len niektoré z funkcií, ktoré ešte viac uľahčujú správu kontajnerových aplikácií.
2. Čo myslíš tým kontajnerom v Kubernetes?
Kontajnery predstavujú prenosný, ľahký a sebestačný prístup k baleniu a prevádzke softvéru. Balenie a nasadzovanie aplikácií sa vykonáva konzistentne a efektívne v Kubernetes pomocou kontajnerov.
Aby sa udržal oddelený od ostatných kontajnerov a hostiteľského počítača, každý kontajner vykonáva iba jeden proces. Závislosti, knižnice a konfiguračné súbory aplikácie sú zahrnuté v obrázku kontajnera, ktorý slúži ako definícia kontajnera.
Zamýšľaný počet replík kontajnera vždy funguje vďaka použitiu orchestrácie kontajnerov spoločnosťou Kubernetes na správu a škálovanie kontajnerov. Vďaka tomu môžu vývojári jednoducho spravovať a nasadzovať svoje aplikácie v niekoľkých klastroch a cloudových prostrediach.
3. Aké sú hlavné komponenty Kubernetes?
Tu sú hlavné komponenty kubeneters:
- Hlavný server Kubernetes: Tento komponent, ktorý zahŕňa aj správcu radiča a plánovača atď. (distribuované úložisko kľúč-hodnota), server API a ďalšie komponenty, má na starosti správu klastra ako celku.
- Uzly: Toto sú pracovné stanice, na ktorých sa spúšťajú kontajnerové programy. Kubelet, ktorý interaguje s hlavným serverom, aby udržiaval zamýšľaný stav klastra, sa spúšťa na každom uzle spolu s modulom runtime kontajnera (napríklad Docker).
- Moduly: Najmenším a najzákladnejším prvkom objektového modelu Kubernetes je modul, ktorý slúži ako hostiteľ pre jeden alebo viacero kontajnerov.
- Služby: Služby ponúkajú konzistentný koncový bod pre moduly a umožňujú vyvažovanie záťaže a zisťovanie služieb.
- Kontroléry replikácie: Zaručujú, že požadovaný počet replík pod je vždy funkčný.
- Secrets and ConfigMaps: Tieto prostriedky sa používajú na udržiavanie konfiguračných údajov a tajomstiev pre moduly a iné objekty klastra.
4. Čo myslíš pod pojmom orchestrácia v kubernetes?
V Kubernetes sa pojem „orchestrácia“ vzťahuje na automatizovanú správu a koordináciu kontajnerov a zdrojov, ku ktorým sú pripojené. Zahŕňa činnosti vrátane vytvárania sietí, škálovateľnosti, nasadenia a samoliečby. Pomocou objektov, ako sú moduly, služby a ovládače replikácie, Kubernetes organizuje aplikácie.
Podstavce, ktoré môžu pojať jeden alebo viac kontajnerov, sú najmenšie rozmiestniteľné jednotky. Služby riadia rozdelenie výkonu a objavovanie služieb a poskytujú modulom solídny koncový bod. Replika modulu vždy pracuje s požadovaným počtom kópií vďaka kontrolérom replikácie.
5. Čo je to vlastne klaster Kubernetes?
Sada uzlov, na ktorých bežia kontajnerové aplikácie v rôznych kontextoch a počítačoch – cloudových, fyzických, virtuálnych a lokálnych – tvorí klaster Kubernetes. Uľahčuje jednoduchú správu a migráciu aplikácií, ako aj ich vytváranie.
6. Ako Kubernetes zjednodušuje nasadenie kontajnerov?
Keďže typická aplikácia by fungovala v zhluku kontajnerov na mnohých hostiteľoch, všetky tieto kontajnery by museli navzájom komunikovať.
Aby sa to dosiahlo, je potrebný rozsiahly systém, ktorý dokáže škálovať, vyrovnávať zaťaženie a monitorovať kontajnery. Kubernetes musíte použiť na uľahčenie kontajnerového nasadenia, pretože je agnostika v cloude a môže fungovať u akéhokoľvek verejného alebo súkromného poskytovateľa.
7. Aké základné rozdiely existujú medzi Kubernetes a Docker Swarm?
Plánujte a zoskupujte kontajnery Docker pomocou Docker Swarm, natívneho nástroja na orchestráciu kontajnerov s otvoreným zdrojom od Docker. Nasledujúce vlastnosti odlišujú Swarm od Kubernetes:
- Zatiaľ čo Kubernetes a Docker Swarm nemajú funkcie automatického škálovania, škálovanie Docker je päťkrát rýchlejšie ako Kubernetes.
- Kubernetes poskytuje GUI vo forme dashboardu, no Docker Swarm jedno chýba.
- V porovnaní s Kubernetes, ktorý je náročnejší na nastavenie, no ponúka záruku silného klastra, sa Docker Swarm inštaluje jednoduchšie, ale nemá stabilný klaster.
- Kým Kubernetes obsahuje vstavané funkcie na zaznamenávanie a monitorovanie, Docker potrebuje externé nástroje, ako je zásobník ELK.
- Postupné aktualizácie je možné nasadiť cez Docker, ale automatické vrátenia nie je možné; Pomocou Kubernetes je možné nasadiť priebežné aktualizácie, ako aj automatické vrátenia.
8. Čo je menný priestor v Kubernetes?
Menný priestor Kubernetes sa používa v prostredí, kde niekoľko používateľov pracuje na mnohých projektoch v širokej geografickej oblasti. Menný priestor rozdeľuje prostriedky klastra medzi viacerých používateľov.
9. Čo presne je hlavný komponent Kubernetes etcd?
Etcd je kľúčovou súčasťou hlavného servera Kubernetes. Okrem toho slúži ako centrum klastra Kubernetes, kde sú položky uložené v distribuovanom obchode kľúč-hodnota.
Replikačná technológia sa používa v spojení s algoritmom na zachovanie údajov uložených v etcd medzi servermi. Pri porovnávaní a výmene údajov medzi servermi etcd sa používa optimistická mena na minimalizáciu uzamykacích situácií a zvýšenie rýchlosti servera.
10. Aké riešenia existujú na zabezpečenie API na Kubernetes?
Zabezpečenie API je možné vykonať spôsobom uvedeným nižšie:
- Prostredníctvom autentifikácie API
- Výber vhodného režimu autentifikácie pre režim autentifikácie servera API = Node, RBAC
- Sledovanie chýb RBAC
- Zabezpečenie používania protokolu TLS na zabezpečenie prevádzky
- Použitie authorisation-mode=Webhook na zabezpečenie toho, že Kubeless chráni svoje API
- Odstránenie predvolených povolení servisného účtu
- Používa sa najnovšie vydanie kube
- Uistite sa, že kube-dashboard dodržiava prísnu politiku RBAC
- Implementácia bezpečnostnej politiky pod na obmedzenie prístupu ku kontajneru a zabezpečenie uzla
11. Aké sú rozdiely medzi aplikáciami nasadenými na hostiteľoch a kontajneroch?
Operačný systém a architektúra tvoria nasadené aplikácie. Operačný systém bude mať jadro, ktoré obsahuje viaceré knižnice potrebné pre aplikáciu.
Stroj, ktorý spúšťa procesné kontajnery, sa označuje ako hostiteľ kontajnera. Keďže tento typ softvéru sa líši od iných programov, aplikácie musia obsahovať potrebné knižnice. Binárne súbory nemôžu porušovať práva žiadneho iného softvéru, pretože sú oddelené od zvyšku systému.
12. Čo vlastne myslíš pod pojmom Minikube?
S Minikube je možné Kubernetes ľahko spustiť lokálne. To umožňuje virtuálnemu stroju hostiť klaster Kubernetes s jedným uzlom.
13. Ako je možné monitorovať klaster Kubernetes?
Prevádzku a stav kontajnerov fungujúcich pod Kubernetes je možné sledovať pomocou rôznych metód. Prometheus, jeden z najčastejšie používaných nástrojov, obsahuje množstvo častí, ktoré sú rozpísané v nasledujúcich častiach.
- Server Prometheus zhromažďuje a ukladá údaje o časových radoch.
- Zahŕňa klientske knižnice, ktoré uľahčujú inštrumentovanie aplikačného kódu.
- Je vybavený bránou push, ktorá môže podporovať dočasné úlohy.
- Existujú vývozcovia so špecializovanými funkciami pre rôzne kontajnerové služby, ako sú StatsD, HAProxy, Graphite atď.
- Okrem toho dostanete správcu upozornení, ktorý bude spracovávať upozornenia v rôznych systémoch podpory.
14. Akú funkciu plnia uzly Kubernetes?
Pre prevádzku modulov Node ponúka kľúčové funkcie. Nods, ktoré sú tiež známe ako prisluhovači, môžu fungovať na akomkoľvek skutočnom alebo virtuálnom počítači v závislosti od klastra.
V Kubernetes je uzol primárnym pracovným počítačom, zatiaľ čo hlavné komponenty dohliadajú na každý uzol samostatne.
15. Podrobne opíšte hipstera.
Heapster kombinuje údaje v celom klastri, ktorý generuje Kubelet, ktorý sa vykonáva na každom uzle. Tento nástroj na správu kontajnerov je natívne podporovaný týmto klastrom Kubernetes a funguje ako modul rovnako ako ktorýkoľvek iný modul v klastri.
V zásade to znamená nájsť každý uzol v klastri a využiť agenta Kubernetes na počítači na dopytovanie údajov z uzlov Kubernetes klastra.
16. Popíšte fungovanie hlavného uzla Kubernetes.
Hlavný uzol povyšuje riadiace a kontrolné uzly pracovných uzlov. Je to podobné ako klaster Kubernetes. Uzly majú na starosti správu klastra, ako aj rozhranie API používané na konfiguráciu a správu zdrojov kolekcie. Vďaka výhodám vyhradených modulov môžu hlavné uzly Kubernetes bežať spolu so samotným Kubernetes.
17. Čo odlišuje nádobu od puzdra?
Ako replikačná jednotka využíva Kubernetes pod, čo je skupina kontajnerov. Kontajnery sú kolekciou kódov, ktoré by mal vytvoriť modul pre aplikáciu. V rámci toho istého modulu môžu kontajnery medzi sebou komunikovať.
18. Čo rozumiete pod pojmom load balancer v Kubernetes?
Jednou z najrozšírenejších a najuznávanejších metód vystavenia služby je vyrovnávač zaťaženia. V závislosti od pracovného prostredia je vyrovnávač zaťaženia buď interný vyrovnávač zaťaženia alebo externý vyrovnávač zaťaženia.
Zatiaľ čo externý Load Balancer smeruje prevádzku z externého zaťaženia do backendových modulov, Internal Load Balancer automaticky vyvažuje záťaž a priraďuje modulom potrebnú konfiguráciu.
19. Akú funkciu vykonáva server Kube-API?
Pre objekty API tento typ overuje a ponúka konfiguračné informácie. Pozostáva z replikačných radičov, služieb a modulov. Okrem toho ponúka operácie REST a rozhranie klastra. Všetky ostatné komponenty spolu komunikujú prostredníctvom tohto spoločného stavu frontendového klastra.
20. Čo znamenajú stavové množiny Kubernetes?
Objekt API pracovného zaťaženia nazývaný stavová množina sa používa na riadenie stavových aplikácií. Používa sa na škálovanie sád modulov a správu nasadení. Na diskovom úložisku, ktoré je prepojené so súpravou stavov, boli informácie o stave a ďalšie odolné údaje stavových modulov uložené a aktualizované.
21. Ako skúmate centrálne záznamy modulu?
Na získanie centrálnych protokolov z modulu môžete použiť jeden z dvoch štýlov protokolovania.
- Použite protokolovacieho agenta na úrovni uzla.
- Kontajner sajdkár v potoku
- Prostriedok na ťažbu používajte spolu s kontajnerom postranného vozíka.
- Priamo exportujte protokoly z programu
22. ClusterIP: Čo je to?
Predvolená služba Kubernetes, ClusterIP, ponúka internú klastrovú službu (bez externého prístupu), ku ktorej majú prístup iné aplikácie vo vašom klastri.
23. Povedzte mi o replikačných radičoch?
Pre všetky dlhodobo fungujúce moduly slúžia kontroléry replikácie ako supervízori. Zaručuje, že požadovaný počet modulov je aktívny v každom okamihu a že každý modul alebo skupina modulov má konzistentnú štruktúru.
Ak je viac strukov ako je zamýšľaný počet, prebytočné struky sa ukončia. Okrem toho ovládač okamžite vymení všetky chybné moduly.
24. Ako funguje sieť Ingress a čo to je?
Používatelia môžu pristupovať k vašim službám Kubernetes mimo klastra Kubernetes vďaka položke nazývanej ingress. Vytvorením pravidiel, ktoré určujú, ktoré prichádzajúce pripojenia dosahujú určité služby, môžu používatelia nakonfigurovať prístup.
Tento objekt rozhrania API ponúka pravidlá smerovania potrebné na riadenie toho, ako k službám v klastri Kubernetes pristupujú návštevníci mimo klastra prostredníctvom protokolu HTTPS/HTTP. Vďaka tomu môžu používatelia rýchlo a efektívne zostaviť pravidlá smerovania prevádzky bez toho, aby museli vytvárať niekoľko nástrojov na vyrovnávanie záťaže alebo vystavovať každú službu uzlom.
25. Prometheus v Kubernetes: na čo slúži?
Na monitorovanie a varovanie aplikácie v závislosti od metrík sa používa súprava nástrojov s otvoreným zdrojom s názvom Prometheus. Ponúka schému údajov a jazyk dotazov a je schopný poskytovať informácie o metrikách a akcie. Umožňuje používanie jazyka na mnohé inštrumentálne účely.
Operátor Prometheus okrem Alertmanager a Grafana ponúka jednoduchý monitoring pre nasadenia a služby K8s.
26. Čo je to bezhlavá služba?
Bezhlavá služba je služba, ktorá využíva IP adresu, ale namiesto vyrovnávania záťaže poskytuje informácie o pripojených moduloch.
27. Čo potrebujem na lokálne spustenie architektúry Kubernetes?
Pre integráciu Kubernetes prešlo prestavbou niekoľko lokálnych infraštruktúr. Na integráciu úložiska, serverov a sietí do bezproblémového systému sú potrebné odborné znalosti na vysokej úrovni.
Výber vhodného sieťového a úložného hardvéru je pre Kubernetes zásadný, pretože umožňuje interakciu so zdrojmi pre ukladanie, vyrovnávanie záťaže atď. Automatizácia sieťových a úložných komponentov je kľúčovou súčasťou hodnotovej ponuky Kubernetes.
28. Čo rozumiete pod pojmom Stateful set?
Položka API pracovného zaťaženia známa ako stavová množina sa používa na správu stavových aplikácií. Môže sa použiť aj na škálovanie sád modulov a správu nasadení. Disková pamäť, ktorá je pripojená k súprave stavov, obsahuje informácie o stave a ďalšie údaje pre stavové moduly.
29. Čo znamenajú prisluhovači v Kubernetes?
V Kubernetes sa uzol označuje ako pracovný stroj; predtým bol známy ako prisluhovač. Na základe klastra to môže byť virtuálny počítač alebo skutočný stroj.
Každý uzol je riadený hlavnými komponentmi Kubernetes a obsahuje služby potrebné na prevádzku modulov. Runtime kontajnera, kubelet a Kube-proxy sú zahrnuté v službách ponúkaných uzlom.
30. Aké funkcie vykonávajú služby v rámci komponentov Kubernetes?
Poskytnutím virtuálnej IP adresy slúži služba ako abstrakcia pre pody. Virtuálna IP adresa uľahčuje užívateľské pripojenie ku kontajnerom bežiacim vo vnútri modulov. Je to komponent, ktorý určuje, ako sú nádoby usporiadané v strukoch.
31. Čo je to vlastne Helm?
Register správy balíkov aplikácií Helm udržiavaný CNF je dostupný pre Kubernetes. Vopred nakonfigurované Tabuľky kormidla je možné stiahnuť a nasadiť vo vašom systéme Kubernetes. Jedno z najpopulárnejších riešení správy balíkov pre prostredie Kubernetes je toto. Tímy DevOps môžu nasadzovať aplikácie do produkčného a vývojového prostredia, verzovať ich a sledovať ich pokrok pomocou existujúcich grafov.
32. Vysvetlite PVC
PVC je skratka pre Persistent Volume Claim. Je to úložisko, ktoré Kubernetes požadoval pre moduly. Znalosť používateľov o základnom poskytovaní nie je potrebná. Priestor názvov, v ktorom je modul vytvorený, a kde by sa malo toto tvrdenie uviesť, by sa malo zhodovať.
záver
Otázky a odpovede na rozhovor Kubernetes sú úplné.
O Kubernetes, špičkovej technológii, vďaka ktorej je možné spravovať a prevádzkovať tisíce kontajnerov, sa nepochybne môžeme dozvedieť viac, ale toto je dobré miesto, kde začať. Pomoc s prípravou na pohovor nájdete na Séria rozhovorov s Hashdorkom.
Nechaj odpoveď