Inhoudsopgave[Zich verstoppen][Laten zien]
- 1. Wat is Kubernetes?
- 2. Wat bedoel je met de container in Kubernetes?
- 3. Wat zijn de belangrijkste componenten van Kubernetes?
- 4. Wat bedoel je met orkestratie in Kubernetes?
- 5. Wat is een Kubernetes-cluster precies?
- 6. Hoe wordt implementatie in containers eenvoudiger gemaakt door Kubernetes?
- 7. Welke fundamentele verschillen bestaan er tussen Kubernetes en de Docker Swarm?
- 8. Wat is een naamruimte in Kubernetes?
- 9. Wat is de Kubernetes etcd mastercomponent precies?
- 10. Welke oplossingen zijn er voor API-beveiliging op Kubernetes?
- 11. Wat zijn de verschillen tussen applicaties die op hosts worden ingezet en containers?
- 12. Wat bedoel je eigenlijk met Minikube?
- 13. Hoe kan het Kubernetes-cluster worden bewaakt?
- 14. Welke functie hebben Kubernetes-knooppunten?
- 15. Beschrijf de hipster in detail.
- 16. Beschrijf de werking van de Kubernetes-masternode.
- 17. Wat onderscheidt de container van de pod?
- 18. Wat versta je onder load balancer in Kubernetes?
- 19. Welke functie vervult de Kube-API-server?
- 20. Wat betekenen de stateful sets van Kubernetes?
- 21. Hoe onderzoek je de centrale logboeken van de pod?
- 22. ClusterIP: wat is het?
- 23. Vertel eens over replicatiecontrollers?
- 24. Hoe werkt het Ingress-netwerk en wat is het?
- 25. Prometheus in Kubernetes: waar is het voor?
- 26. Wat is headless-service?
- 27. Wat heb ik nodig om de Kubernetes-architectuur lokaal uit te voeren?
- 28. Wat versta je onder Stateful set?
- 29. Wat betekenen minions in Kubernetes?
- 30. Welke functies voeren services uit binnen de Kubernetes-componenten?
- 31. Wat is Helm precies?
- 32. Leg PVC uit
- Conclusie
Google heeft in 2014 oorspronkelijk Kubernetes gemaakt, een open-source technologie voor containerorkestratie. De implementatie, schaalvergroting en administratie van gecontaineriseerde applicaties waren allemaal bedoeld om te worden geautomatiseerd.
Kubernetes heeft zich in de loop van de tijd ontwikkeld tot de de facto standaard in de branche voor containerorkestratie en wordt op grote schaal gebruikt door bedrijven van elke omvang om hun werklast in containers te beheren.
Het belang van Kubernetes in de moderne wereld ligt in het vermogen om een consistente methode te bieden voor het beheer van gecontaineriseerde applicaties op schaal, verspreid over verschillende clusters en cloudomgevingen. Hierdoor kunnen bedrijven beheren, uitbreiden en hun applicaties inzetten snel en effectief.
Het onderhoud van gecontaineriseerde apps wordt verder vereenvoudigd door de uitgebreide functieset van Kubernetes, waaronder zelfherstel, geautomatiseerde schaling en doorlopende upgrades.
Naarmate meer bedrijven containerisatie en microservices gebruiken om hun applicatieontwikkeling en implementatieprocedures te versnellen, wordt verwacht dat de reikwijdte van Kubernetes in de toekomst zal blijven groeien.
De acceptatie van cloud-native technologieën en de algemene overstap naar multi-cloud en hybride cloud-systemen zullen beide sterk afhangen van Kubernetes. Nu steeds meer apparaten aan het internet zijn gekoppeld, zal Kubernetes ook steeds meer worden ingezet in het kader van edge computing en IoT.
Ik neem aan dat u al op de hoogte bent van deze details, omdat u dit bericht op Kubernetes-interviewvragen leest, waarin u wordt geïnformeerd over de meest gestelde interviewvragen. Laten we beginnen.
1. Wat is Kubernetes?
Kubernetes is een open source-framework voor gecontaineriseerde applicatie-orkestratie en -beheer. Het maakt het mogelijk om gecontaineriseerde applicaties consistent en effectief te implementeren, te schalen en te onderhouden.
Kubernetes biedt een enkele methode voor het beheer van gecontaineriseerde applicaties op schaal en is gebouwd om in verschillende clusters en cloudomgevingen te werken.
Zelfherstel, geautomatiseerde schaling en doorlopende upgrades zijn slechts enkele van de mogelijkheden die het beheer van gecontaineriseerde apps nog eenvoudiger maken.
2. Wat bedoel je met de container in Kubernetes?
Containers zijn een draagbare, lichtgewicht en zelfvoorzienende benadering van het verpakken en uitvoeren van software. Het verpakken en implementeren van applicaties gebeurt consistent en effectief in Kubernetes met behulp van containers.
Om zichzelf gescheiden te houden van andere containers en de hostmachine, voert elke container slechts één proces uit. De afhankelijkheden, bibliotheken en configuratiebestanden van een toepassing zijn allemaal opgenomen in de containerimage die dient als de definitie van een container.
Het beoogde aantal replica's van een container werkt altijd dankzij Kubernetes' gebruik van containerorkestratie om de containers te beheren en te schalen. Dit maakt het voor ontwikkelaars eenvoudig om hun applicaties te beheren en te implementeren in verschillende clusters en cloudomgevingen.
3. Wat zijn de belangrijkste componenten van Kubernetes?
Dit zijn de belangrijkste componenten van kubeneters:
- De Kubernetes-master: dit onderdeel, dat ook de controllermanager en planner, etcd (een gedistribueerde sleutel-waardeopslag), de API-server en andere componenten omvat, is verantwoordelijk voor het beheer van het cluster als geheel.
- Nodes: Dit zijn de werkstations waarop de gecontaineriseerde programma's worden uitgevoerd. De kubelet, die samenwerkt met de master om de beoogde status van het cluster te behouden, wordt uitgevoerd op elk knooppunt samen met een container-runtime (zoals Docker).
- Pods: Het kleinste en meest elementaire element van het Kubernetes-objectmodel is de pod, die dient als host voor een of meer containers.
- Services: Services bieden een consistent eindpunt voor pods en maken taakverdeling en servicedetectie mogelijk.
- Replicatiecontrollers: ze garanderen dat het vereiste aantal pod-replica's altijd actief is.
- Geheimen en ConfigMaps: deze bronnen worden gebruikt om de configuratiegegevens en geheimen voor pods en andere clusterobjecten te onderhouden.
4. Wat bedoel je met orkestratie in Kubernetes?
In Kubernetes verwijst de term 'orkestratie' naar het geautomatiseerde beheer en de coördinatie van containers en de resources waarmee ze zijn verbonden. Het omvat activiteiten zoals netwerken, schaalbaarheid, implementatie en zelfherstel. Met behulp van objecten zoals pods, services en replicatiecontrollers orkestreert Kubernetes applicaties.
Pods, die een of meer containers kunnen bevatten, zijn de kleinste inzetbare eenheden. Diensten beheren taakverdeling en servicedetectie en geef pods een solide eindpunt. Een replica van een pod werkt altijd met het vereiste aantal kopieën dankzij replicatiecontrollers.
5. Wat is een Kubernetes-cluster precies?
Een set knooppunten waarop gecontaineriseerde apps worden uitgevoerd in verschillende contexten en machines (cloudgebaseerd, fysiek, virtueel en on-premises) vormt een Kubernetes-cluster. Het vergemakkelijkt het eenvoudige beheer en de migratie van apps en het maken ervan.
6. Hoe wordt implementatie in containers eenvoudiger gemaakt door Kubernetes?
Aangezien een typische applicatie zou werken in een cluster van containers op veel hosts, zouden al deze containers met elkaar moeten communiceren.
Om dit te bereiken is dus een grootschalig systeem nodig dat de containers kan schalen, balanceren en bewaken. U moet Kubernetes gebruiken om gecontaineriseerde implementatie te vergemakkelijken, aangezien het cloud-agnostisch is en op elke openbare of particuliere provider kan werken.
7. Welke fundamentele verschillen bestaan er tussen Kubernetes en de Docker Swarm?
Plan en cluster Docker-containers met Docker Swarm, een native, open-source tool voor containerorkestratie van Docker. De volgende kenmerken onderscheiden Swarm van Kubernetes:
- Hoewel Kubernetes en Docker Swarm beide geen automatische schalingsmogelijkheden hebben, is Docker-scaling vijf keer sneller dan Kubernetes.
- Kubernetes biedt een GUI in de vorm van een dashboard, maar Docker Swarm mist er een.
- Vergeleken met Kubernetes, dat moeilijker op te zetten is maar de garantie biedt van een sterk cluster, is Docker Swarm eenvoudiger te installeren maar heeft het geen stabiel cluster.
- Hoewel Kubernetes ingebouwde mogelijkheden biedt voor logboekregistratie en monitoring, heeft Docker externe tools nodig, zoals de ELK-stack.
- Doorlopende updates kunnen worden geïmplementeerd via Docker, maar automatische terugdraaiingen kunnen dat niet; Rolling updates en geautomatiseerde rollbacks kunnen worden geïmplementeerd met behulp van Kubernetes.
8. Wat is een naamruimte in Kubernetes?
De Kubernetes-naamruimte wordt gebruikt in een omgeving waar verschillende gebruikers werken aan tal van projecten in een groot geografisch gebied. De naamruimte verdeelt de clusterresources over meerdere gebruikers.
9. Wat is de Kubernetes etcd mastercomponent precies?
Etcd is een cruciaal onderdeel van de Kubernetes-masterserver. Bovendien dient het als de hub van het Kubernetes-cluster, waar items worden opgeslagen in een gedistribueerde sleutel/waarde-opslag.
Replicatietechnologie wordt gebruikt in combinatie met een algoritme om de gegevens die zijn opgeslagen in etcd tussen servers te behouden. Bij het vergelijken en uitwisselen van gegevens tussen etcd-servers, wordt de optimistische valuta gebruikt om vergrendelingssituaties te minimaliseren en de serversnelheid te verhogen.
10. Welke oplossingen zijn er voor API-beveiliging op Kubernetes?
Het verstrekken van API-beveiliging kan op de onderstaande manier worden gedaan:
- Via middel van API-authenticatie
- De juiste authenticatiemodus selecteren voor de API-server authenticatiemodus= Node, RBAC
- RBAC-fouten bijhouden
- Ervoor zorgen dat TLS wordt gebruikt om het verkeer te beschermen
- Authorisatie-mode=Webhook gebruiken om ervoor te zorgen dat Kubeless zijn API beveiligt
- Afschaffing van de standaard machtigingen voor serviceaccounts
- De meest recente release van kube gebruiken
- Ervoor zorgen dat het kube-dashboard een strikt RBAC-beleid volgt
- Een pod-beveiligingsbeleid implementeren om de toegang tot de container te beperken en het knooppunt te beschermen
11. Wat zijn de verschillen tussen applicaties die op hosts worden ingezet en containers?
Een besturingssysteem en een architectuur vormen de geïmplementeerde applicaties. Het besturingssysteem zal een kernel hebben die de meerdere bibliotheken bevat die nodig zijn voor een applicatie.
Een machine die procescontainers uitvoert, wordt een containerhost genoemd. Aangezien dit type software verschilt van andere programma's, moeten de apps de nodige bibliotheken bevatten. De binaire bestanden kunnen geen inbreuk maken op de rechten van andere software, aangezien ze gescheiden zijn van de rest van het systeem.
12. Wat bedoel je eigenlijk met Minikube?
Met Minikube kan Kubernetes eenvoudig lokaal worden uitgevoerd. Hierdoor kan een virtuele machine een Kubernetes-cluster hosten met een enkel knooppunt.
13. Hoe kan het Kubernetes-cluster worden bewaakt?
De werking en status van containers die onder Kubernetes werken, kan op verschillende manieren worden gevolgd. Prometheus, een van de meest gebruikte instrumenten, bevat een aantal onderdelen, die in de onderstaande paragrafen worden uitgesplitst.
- De Prometheus-server verzamelt tijdreeksgegevens en slaat deze op.
- Het bevat clientbibliotheken die het instrumenteren van applicatiecode vergemakkelijken.
- Het beschikt over een push-gateway die tijdelijke banen kan ondersteunen.
- Er zijn exporteurs met gespecialiseerde functies voor diverse containerdiensten, zoals StatsD, HAProxy, Graphite, etc.
- Daarnaast ontvangt u een alertmanager om meldingen op verschillende ondersteuningssystemen af te handelen.
14. Welke functie hebben Kubernetes-knooppunten?
Voor de bediening van pods biedt Node cruciale functies. Nods, ook wel minions genoemd, kunnen op elke echte of virtuele computer werken, afhankelijk van het cluster.
In Kubernetes is het knooppunt de primaire werkcomputer, terwijl hoofdcomponenten toezicht houden op elk knooppunt afzonderlijk.
15. Beschrijf de hipster in detail.
Heapster combineert de gegevens door het hele cluster dat Kubelet, dat op elk knooppunt wordt uitgevoerd, genereert. Deze tool voor containerbeheer wordt standaard ondersteund door dit Kubernetes-cluster en functioneert als een pod, net als elke andere pod in het cluster.
In feite houdt dit in dat elk knooppunt in het cluster wordt gelokaliseerd en een Kubernetes-agent op de machine wordt gebruikt om gegevens op te vragen van de Kubernetes-knooppunten van het cluster.
16. Beschrijf de werking van de Kubernetes-masternode.
Het hoofdknooppunt verhoogt de heersende en controlerende knooppunten van de werkknooppunten. Dit is vergelijkbaar met een Kubernetes-cluster. De knooppunten zijn verantwoordelijk voor het clusterbeheer en voor de API die wordt gebruikt om de bronnen van de verzameling te configureren en te beheren. Vanwege het voordeel van speciale pods kunnen Kubernetes-masternodes naast Kubernetes zelf draaien.
17. Wat onderscheidt de container van de pod?
Als replicatie-eenheid gebruikt Kubernetes een pod, een groep containers. Containers zijn de verzameling codes die een pod voor een toepassing moet maken. Binnen dezelfde pod kunnen containers met elkaar communiceren.
18. Wat versta je onder load balancer in Kubernetes?
Een van de meest voorkomende en geaccepteerde methoden voor serviceblootstelling is een load balancer. Afhankelijk van de werkomgeving is een load balancer een interne load balancer of een externe load balancer.
Terwijl de External Load Balancer het verkeer van de externe load naar de backend-pods leidt, balanceert de Internal Load Balancer de load automatisch en wijst de pods de benodigde configuratie toe.
19. Welke functie vervult de Kube-API-server?
Voor de API-objecten verifieert en biedt dit type configuratie-informatie. Het bestaat uit replicatiecontrollers, services en pods. Bovendien biedt het REST-bewerkingen en de interface van het cluster. Alle andere componenten communiceren met elkaar via deze gemeenschappelijke frontend-clusterstatus.
20. Wat betekenen de stateful sets van Kubernetes?
Een workload-API-object, een stateful set genaamd, wordt gebruikt om stateful applicaties te beheren. Het wordt gebruikt om de sets pods te schalen en implementaties te beheren. In de schijfopslag die is gekoppeld aan de stateful set, werden de statusinformatie en andere veerkrachtige gegevens van stateful pods opgeslagen en up-to-date gehouden.
21. Hoe onderzoek je de centrale logboeken van de pod?
Voor het ophalen van centrale logboeken van de pod kunt u een van de twee logboekstijlen gebruiken.
- Gebruik een logboekregistratie-agent op knooppuntniveau.
- De zijspancontainer in de beek
- Gebruik de houtkap samen met de zijspancontainer.
- Exporteer de logs direct vanuit het programma
22. ClusterIP: wat is het?
De standaard Kubernetes-service, ClusterIP, biedt een interne clusterservice (zonder externe toegang) waartoe andere apps in uw cluster toegang hebben.
23. Vertel eens over replicatiecontrollers?
Voor alle langlopende pods dienen replicatiecontrollers als supervisors. Het garandeert dat het vereiste aantal pods op elk moment actief is en dat elke pod of groep pods een consistente structuur heeft.
Als er meer pods zijn dan het beoogde aantal, worden de overtollige pods beëindigd. Bovendien zal de controller eventuele defecte pods onmiddellijk vervangen.
24. Hoe werkt het Ingress-netwerk en wat is het?
Gebruikers hebben toegang tot uw Kubernetes-services van buiten het Kubernetes-cluster dankzij een item dat een ingang wordt genoemd. Door regels vast te stellen die specificeren welke inkomende verbindingen bepaalde services bereiken, kunnen gebruikers de toegang configureren.
Dit API-object biedt de routeringsregels die nodig zijn om te bepalen hoe de services in het Kubernetes-cluster toegankelijk zijn voor bezoekers van buiten het cluster via HTTPS/HTTP. Hiermee kunnen gebruikers de verkeersrouteringsregels snel en efficiënt opbouwen zonder meerdere load balancers te hoeven maken of elke service aan de knooppunten bloot te stellen.
25. Prometheus in Kubernetes: waar is het voor?
Een open-source toolkit genaamd Prometheus wordt gebruikt om de applicatie te bewaken en te waarschuwen, afhankelijk van statistieken. Het biedt een gegevensschema en een querytaal en kan metrische informatie en acties leveren. Het maakt het gebruik van taal voor veel instrumentele doeleinden mogelijk.
Naast Alertmanager en Grafana biedt de Prometheus-operator eenvoudige monitoring voor implementaties en K8S-services.
26. Wat is headless-service?
Een headless-service is een service die een IP-adres gebruikt, maar informatie geeft over aangesloten pods in plaats van load balancing.
27. Wat heb ik nodig om de Kubernetes-architectuur lokaal uit te voeren?
Voor Kubernetes-integratie hebben verschillende on-premises infrastructuren een remodellering ondergaan. Expertise op hoog niveau is nodig om opslag, servers en netwerken te integreren in een naadloos systeem.
Het selecteren van de juiste netwerk- en opslaghardware is essentieel voor Kubernetes, omdat het interactie mogelijk maakt met bronnen voor opslag, load balancers, enz. Het automatiseren van netwerk- en opslagcomponenten is een belangrijk onderdeel van de waardepropositie van Kubernetes.
28. Wat versta je onder Stateful set?
Het workload-API-item dat bekend staat als de stateful set wordt gebruikt om stateful applicaties te beheren. Het kan ook worden gebruikt om de sets pods te schalen en implementaties te beheren. De schijfopslag, die is verbonden met de stateful set, bevat de statusinformatie en andere gegevens voor de stateful pods.
29. Wat betekenen minions in Kubernetes?
In Kubernetes wordt een knooppunt een werkmachine genoemd; voorheen stond het bekend als een minion. Op basis van een cluster kan dit een virtuele computer of een echte machine zijn.
Elk knooppunt wordt bestuurd door Kubernetes-hoofdcomponenten en bevat de services die nodig zijn om pods te bedienen. De container runtime, kubelet en Kube-proxy zijn inbegrepen in de services die door het knooppunt worden aangeboden.
30. Welke functies voeren services uit binnen de Kubernetes-componenten?
Door het verstrekken van het virtuele IP-adres dient een dienst als abstractie voor pods. Het virtuele IP-adres vergemakkelijkt gebruikersverbindingen met containers die in pods draaien. Het is een onderdeel dat bepaalt hoe containers binnen pods worden gerangschikt.
31. Wat is Helm precies?
Het door CNF onderhouden Helm-toepassingspakketbeheerregister is beschikbaar voor Kubernetes. De voorgeconfigureerde Helm grafieken kan worden gedownload en geïmplementeerd in uw Kubernetes-systeem. Een van de meest populaire pakketbeheeroplossingen voor de Kubernetes-omgeving is deze. DevOps-teams kunnen apps implementeren in de productie- en ontwikkelomgevingen, er versies van maken en hun voortgang volgen met behulp van de bestaande grafieken.
32. Leg PVC uit
PVC is een acroniem voor Persistent Volume Claim. Het is opslag die Kubernetes heeft aangevraagd voor pods. Gebruikerskennis van de onderliggende inrichting is niet nodig. De naamruimte waar de pod wordt gevormd en waar deze claim moet worden ingediend, moet overeenkomen.
Conclusie
De Kubernetes-interviewvragen en -antwoorden zijn voltooid.
Er valt ongetwijfeld nog meer te leren over Kubernetes, de geavanceerde technologie die het mogelijk heeft gemaakt om duizenden containers te beheren en te runnen, maar dit is een solide plek om te beginnen. Voor hulp bij het voorbereiden van een sollicitatiegesprek, zie Hashdork's interviewserie.
Laat een reactie achter