Top 20 de întrebări și răspunsuri la interviu Kubernetes pe care trebuie să le știi în 2022
Publicat: 2021-01-04Kubernetes este unul dintre cele mai căutate instrumente de orchestrare a containerelor de pe piața actuală. Deschis de Google în 2014, acest sistem a devenit favorit printre companii precum SoundCloud, SAP, The New York Times, eBay, Huawei și multe altele.
Dar există doar câțiva experți calificați pentru a satisface cererea mare de profesioniști certificați Kubernetes. În plus, procedurile actuale de selecție a posturilor pun o valoare imensă pe conceptele tehnice. Prin urmare, este întotdeauna recomandabil să vă pregătiți în prealabil răspunsurile la întrebările interviului Kubernetes .
Ideea de bază din spatele Kubernetes este să abstragă resursele computerului subiacente. Îndepărtează mașinile, stocarea și rețelele de la implementările lor fizice. Fără îndoială, impulsul din spatele platformei este în creștere. Kubernetes este numit sistemul de operare al cloud-ului. Aflați mai multe despre Kubernetes și despre rețea.
Dacă vă gândiți să urmați o carieră în acest domeniu, parcurgeți întrebările interviului Kubernetes prezentate mai jos. Fă primul pas și familiarizează-te cu elementele fundamentale!
Întrebări și răspunsuri la interviu Kubernetes 2022
1. Definiți Kubernetes.
Kubernetes este mult mai mult decât o platformă de containerizare. Automatizează sarcinile de implementare, scalare și echilibrare a încărcăturii aplicațiilor. De asemenea, acest instrument de gestionare a mai multor containere funcționează bine cu majoritatea furnizorilor de cloud și beneficiază de contribuțiile unei comunități open-source experte. Kubernetes este scris în limbaje de programare Go.

2. Enumerați câteva caracteristici cheie ale Kubernetes.
- Programare automată – Programator avansat pentru lansarea containerelor pe nodurile clusterului.
- Auto-vindecare – Poate reprograma, înlocui și reporni containerele care au murit.
- Lansări și derulări automate – Acceptă lansări și derulări.
- Scalare orizontală – Capacități de scalare a aplicațiilor în sus sau în jos, conform cerințelor.
- Enumerați diferențele dintre Kubernetes și Docker Swarms.
Docker Swarm este un instrument pentru construirea de containere pentru managementul ciclului de viață al acestora. Kubernetes este mai extins decât Docker Swarm, deoarece este menit să orchestreze clustere și să coordoneze grupuri de noduri la scară. Chiar dacă Kubernetes este foarte scalabil, Docker Swarm este de aproximativ cinci ori mai rapid de scalat decât Kubernetes. De asemenea, Docker Swarm efectuează echilibrarea automată a încărcăturii traficului între diferite containere, pentru care este necesară intervenția manuală în Kubernetes.
Dar, Kubernetes are alte capacități. Are instrumente de înregistrare și monitorizare încorporate, împreună cu un mecanism de derulare automată. Docker Swarm nu poate face derulări și scalare automată precum Kubernetes.
4. Cum diferă implementarea aplicației pe gazde de implementarea pe containere?
Când implementați o aplicație pe gazde, nucleul sistemului de operare permite instalarea multor biblioteci pe ea. Toate aplicațiile partajează diferitele biblioteci prezente pe acel sistem de operare. Cu toate acestea, arhitectura implementării aplicațiilor pe containere este puțin diferită.
În arhitectura containerizată, nucleul este singurul lucru comun între aplicații. Alte aplicații nu pot pătrunde în bibliotecile și binarele necesare unei aplicații. Deci, ele există izolate de restul sistemului. De exemplu, dacă o anumită aplicație necesită Python, atunci numai acea aplicație va avea acces la ea.
5. Ce înțelegeți prin orchestrare container? Pentru ce ai nevoie?
Să presupunem că există 4-5 microservicii pentru o aplicație. Acum, aceste microservicii ar fi în containere individuale. Deci, orchestrarea containerului ar fi necesară pentru a permite serviciilor să comunice între ele și să lucreze împreună pentru a îndeplini nevoile serverului. Procesul este la fel ca o orchestră muzicală în care diferite instrumente sunt cântate în armonie pentru a alcătui o compoziție.
6. Ce este Kubelet?
Kubelet este un serviciu de agent care rulează pod-uri. Un pod nu este altceva decât un grup de containere implementate pe aceeași gazdă sau care au niște resurse comune, cum ar fi un singur IP, volume etc. Kubeletul funcționează pe descrierile acestor containere furnizate în PodSpec. Scopul său principal este de a rula pe fiecare nod, de a se asigura că containerele sunt sănătoase și de funcționare și de a permite în continuare comunicarea între nodurile master și worker.
Citiți: Întrebări și răspunsuri la interviu complet
7. Care este rolul clusterelor în Kubernetes?
Kubernetes vă permite să impuneți gestionarea stării necesare prin alimentarea serviciilor de cluster cu o anumită configurație. Apoi, aceste servicii de cluster rulează acea configurație în infrastructură. Următorii pași sunt implicați în proces:
- Fișierul de implementare conține toate configurațiile care vor fi introduse în serviciile cluster.
- Fișierul de implementare este introdus în API.
- Acum, serviciile cluster programează podurile în mediu
- Serviciile de cluster asigură, de asemenea, că rulează numărul potrivit de poduri
Deci, clusterul Kubernetes este alcătuit în esență din API, nodurile de lucru și procesul Kubelet al nodurilor.
8. Pentru ce se utilizează Kubectl?
Kubectl este un instrument pentru controlul clusterelor Kubernetes. De fapt, „ctl” înseamnă control. Este o interfață de linie de comandă care vă permite să transmiteți comenzi către cluster și să gestionați componenta Kubernetes.
9. Definiți Google Container Engine.
Google Container Engine (GKE) este o platformă de management care acceptă containerele și clusterele Docker care rulează în cadrul serviciilor cloud publice ale Google. Este un motor open-source bazat pe Kubernetes.
10. Explicați modul de utilizare a nodurilor în Kubernetes.
Un nod oferă serviciile necesare pentru a rula pod-uri. Cunoscute și sub numele de minioni, nodurile pot rula pe o mașină fizică sau virtuală, în funcție de cluster. În Kubernetes, un nod este mașina principală de lucru, iar componentele principale gestionează fiecare nod din sistem.

Acum că sunteți la curent cu elementele de bază, să ne uităm la câteva întrebări și răspunsuri la interviul Kubernetes pentru a obține claritate.
11. Care sunt cele două componente principale ale arhitecturii Kubernetes?
Nodul master și nodul lucrător formează arhitectura Kubernetes. Ambele componente au mai multe servicii încorporate în ele. De exemplu, componenta principală are kube-controller-manager, kube-scheduler, etcd și kube-apiserver. Nodul de lucru are servicii precum durata de rulare a containerului, kubelet și kube-proxy care rulează pe fiecare nod.
Citiți: Reacționați la întrebări și răspunsuri la interviu
12. Definiți kube-apiserver și kube-scheduler.
Kube-apiserver este partea frontală a panoului de control al nodului maser care expune toate API-urile componente. Stabilește comunicarea între nodurile Kubernetes și componentele master. Kube-scheduler gestionează volumul de lucru al nodurilor de lucru. Ține evidența utilizării resurselor pentru a se asigura că programarea se face pe noduri adecvate.
13. Explicați pe scurt rolul managerului de controler Kubernetes.
În Kubernetes, pe nodul principal rulează diferite procese și sunt compilate împreună sub forma Kubernetes Controller Manager. Este un demon care încorporează controlere, inclusiv următoarele:
- Node Controller: Gestionează starea, adică crearea, actualizarea și ștergerea nodurilor
- Controler de replicare: Menține pod-uri pentru fiecare obiect de replicare
- Cont de serviciu și controler de jetoane: Preocupat de conturile implicite și jetoanele de acces API pentru noile spații de nume
- Controlerul punctului final: are grijă de obiectele punctului final (pod-uri și servicii)
- Ce face un manager de controler cloud?
Un Cloud Controller Manager (CCM) este un daemon care permite încorporarea buclelor de control specifice norului. Acesta extrage codul furnizorului specific cloud din codul principal Kubernetes. De asemenea, ajută la gestionarea comunicării cu serviciile cloud subiacente. Designul său se bazează pe mecanismul pluginului, ceea ce înseamnă că furnizorii de cloud își integrează codul cu CCM folosind plugin-uri.
15. Care este rolul unui echilibrator de încărcare?
Un echilibrator de încărcare oferă o modalitate standard de a distribui traficul de rețea între diferite servicii de backend, maximizând astfel scalabilitatea. În funcție de mediul de lucru, pot exista două tipuri de echilibrator de încărcare – Intern sau Extern.
Internal Load Balancer poate echilibra automat sarcina și poate aloca configurația necesară podurilor. Pe de altă parte, External Load Balancer ghidează traficul de încărcare extern către podurile backend. În Kubernetes, cele două metode de echilibrare a sarcinii funcționează prin caracteristica kube-proxy.
16. Cum puteți rula Kubernetes local?
Puteți rula Kubernetes local folosind instrumentul Minikube. Rulează un cluster cu un singur nod într-o mașină virtuală de pe laptop. Prin urmare, oferă o modalitate eficientă pentru utilizatorii care abia încep și doresc să încerce Kubernetes.
17. Ce este Heapster?
Heapster este un instrument de monitorizare a performanței și de colectare a valorilor, acceptat nativ pe clusterul Kubernetes. Funcționează ca orice alt pod din cluster, descoperind toate nodurile și interogând informații de la nodurile Kubernetes. Acest instrument de gestionare a containerelor funcționează prin intermediul unui agent de pe mașină.
18. Ce este ETCD în Kubernetes?
Etcd este un magazin pentru configurarea, starea și metadatele clusterelor Kubernetes. Este scris în limbajul de programare Go și reprezintă starea clusterului la un moment dat. Acest depozit de date servește ca coloană vertebrală a sistemelor distribuite.
19. Ce înțelegeți prin monitorizarea resurselor containerului?

Din perspectiva utilizatorului, este vital să înțelegem utilizarea resurselor la diferite straturi și niveluri de abstractizare, cum ar fi containerele, serviciile și întregul cluster. Fiecare nivel poate fi monitorizat folosind diverse instrumente, și anume:
- Grafana
- Heapster
- InfluxDB
- CAdvisor
- Prometeu
- Cum puteți asigura securitatea mediului dvs. în timp ce utilizați Kubernetes?
Puteți urma și implementa următoarele măsuri de securitate în timp ce utilizați Kubernetes:
- Restricționați accesul ETCD
- Limitați accesul direct la noduri
- Definiți cota de resurse
- Totul ar trebui să fie autentificat în mediul de producție
- Utilizați imagini din depozitul autorizat
- Creați reguli și politici stricte pentru resurse
- Efectuați o scanare continuă de securitate și vulnerabilitate
- Aplicați în mod regulat actualizări de securitate
Obțineți un curs de dezvoltare software de la cele mai bune universități din lume. Câștigă programe Executive PG, programe avansate de certificat sau programe de master pentru a-ți accelera cariera.
Încheierea
În acest articol, am acoperit întrebările esențiale ale interviului Kubernetes pentru a vă ajuta să vă actualizați obiectivele de carieră. Așadar, acceptați provocarea de învățare și nu uitați să revizuiți!
Dacă doriți să învățați și să stăpâniți Kubernetes, DevOps și multe altele, consultați Programul Executive PG al IIIT-B și upGrad în Programul de dezvoltare software Full Stack.
