Inhaltsverzeichnis[Ausblenden][Zeigen]
- 1. Was ist Kubernetes?
- 2. Was meinen Sie mit dem Container in Kubernetes?
- 3. Was sind die Hauptkomponenten von Kubernetes?
- 4. Was verstehen Sie unter Orchestrierung in Kubernetes?
- 5. Was genau ist ein Kubernetes-Cluster?
- 6. Wie wird die containerisierte Bereitstellung durch Kubernetes vereinfacht?
- 7. Welche grundlegenden Unterschiede gibt es zwischen Kubernetes und dem Docker Swarm?
- 8. Was ist ein Namespace in Kubernetes?
- 9. Was genau ist die Kubernetes etcd Master-Komponente?
- 10. Welche Lösungen gibt es für die API-Sicherheit auf Kubernetes?
- 11. Was sind die Unterschiede zwischen Anwendungen, die auf Hosts und Containern bereitgestellt werden?
- 12. Was meinst du eigentlich mit Minikube?
- 13. Wie kann der Kubernetes-Cluster überwacht werden?
- 14. Welche Funktion haben Kubernetes-Knoten?
- 15. Beschreibe den Hipster im Detail.
- 16. Beschreiben Sie den Betrieb des Kubernetes-Masterknotens.
- 17. Was unterscheidet den Container vom Pod?
- 18. Was versteht man unter Load Balancer in Kubernetes?
- 19. Welche Funktion erfüllt der Kube-API-Server?
- 20. Was bedeuten die Stateful Sets von Kubernetes?
- 21. Wie untersuchen Sie die zentralen Protokolle des Pods?
- 22. ClusterIP: Was ist das?
- 23. Erzählen Sie mir von Replikationscontrollern?
- 24. Wie funktioniert das Ingress-Netzwerk und was ist es?
- 25. Prometheus in Kubernetes: Wozu dient es?
- 26. Was ist Headless-Service?
- 27. Was benötige ich, um die Kubernetes-Architektur lokal auszuführen?
- 28. Was versteht man unter Stateful Set?
- 29. Was bedeuten Schergen in Kubernetes?
- 30. Welche Funktionen erfüllen Dienste innerhalb der Kubernetes-Komponenten?
- 31. Was genau ist Helm?
- 32. Erklären Sie PVC
- Zusammenfassung
Google hat Kubernetes, eine Open-Source-Technologie zur Orchestrierung von Containern, ursprünglich im Jahr 2014 entwickelt. Die Bereitstellung, Skalierung und Verwaltung von containerisierten Anwendungen sollte allesamt automatisiert werden.
Kubernetes hat sich im Laufe der Zeit zum De-facto-Standard der Branche für die Container-Orchestrierung entwickelt und wird von Unternehmen jeder Größe intensiv genutzt, um ihre Workloads in Containern zu verwalten.
Die Bedeutung von Kubernetes in der modernen Welt liegt in seiner Fähigkeit, eine konsistente Methode zur Verwaltung containerisierter Anwendungen in großem Maßstab anzubieten, die sich über verschiedene Cluster und Cloud-Umgebungen erstreckt. Aus diesem Grund können Unternehmen verwalten, expandieren und ihre Anwendungen bereitstellen schnell und effektiv.
Die Wartung containerisierter Apps wird durch das umfangreiche Feature-Set von Kubernetes weiter vereinfacht, das Selbstheilung, automatische Skalierung und fortlaufende Upgrades umfasst.
Da immer mehr Unternehmen Containerisierung und Microservices nutzen, um ihre Anwendungsentwicklungs- und Bereitstellungsverfahren zu beschleunigen, wird der Umfang von Kubernetes voraussichtlich in Zukunft weiter zunehmen.
Die Einführung von Cloud-nativen Technologien und die allgemeine Umstellung auf Multi-Cloud- und Hybrid-Cloud-Systeme werden beide stark von Kubernetes abhängen. Da immer mehr Geräte mit dem Internet verbunden sind, wird Kubernetes ebenfalls immer mehr im Kontext von eingesetzt werden Edge-Computing und IoT.
Ich gehe davon aus, dass Ihnen diese Details bereits bekannt sind, da Sie diesen Beitrag zu Kubernetes Interview Questions lesen, der Sie über die am häufigsten gestellten Interviewfragen informiert. Lass uns anfangen.
1. Was ist Kubernetes?
Kubernetes ist ein Open-Source-Framework für containerisierte Anwendungsorchestrierung und -verwaltung. Es ermöglicht die konsistente und effektive Bereitstellung, Skalierung und Wartung containerisierter Anwendungen.
Kubernetes bietet eine einzige Methode zur skalierbaren Verwaltung containerisierter Anwendungen und ist für den Betrieb in verschiedenen Clustern und Cloud-Umgebungen konzipiert.
Selbstheilung, automatische Skalierung und fortlaufende Upgrades sind nur einige der Funktionen, die die Verwaltung containerisierter Apps noch einfacher machen.
2. Was meinen Sie mit dem Container in Kubernetes?
Container sind ein portabler, leichter und autarker Ansatz zum Packen und Ausführen von Software. Anwendungspaketierung und -bereitstellung erfolgen konsistent und effektiv in Kubernetes mithilfe von Containern.
Um sich von anderen Containern und dem Host-Rechner abzugrenzen, führt jeder Container nur einen Prozess aus. Die Abhängigkeiten, Bibliotheken und Konfigurationsdateien einer Anwendung sind alle im Container-Image enthalten, das als Definition eines Containers dient.
Dank der Container-Orchestrierung von Kubernetes zum Verwalten und Skalieren der Container funktioniert immer die vorgesehene Anzahl von Replikaten eines Containers. Dies erleichtert Entwicklern die Verwaltung und Bereitstellung ihrer Anwendungen über mehrere Cluster und Cloud-Umgebungen hinweg.
3. Was sind die Hauptkomponenten von Kubernetes?
Hier sind die Hauptkomponenten von kubeneters:
- Der Kubernetes-Master: Diese Komponente, die auch den Controller Manager und Scheduler, etcd (einen verteilten Schlüsselwertspeicher), den API-Server und andere Komponenten umfasst, ist für die Verwaltung des Clusters als Ganzes zuständig.
- Knoten: Dies sind die Arbeitsstationen, auf denen die containerisierten Programme ausgeführt werden. Das Kubelet, das mit dem Master interagiert, um den beabsichtigten Zustand des Clusters aufrechtzuerhalten, wird auf jedem Knoten zusammen mit einer Containerlaufzeit (z. B. Docker) ausgeführt.
- Pods: Das kleinste und grundlegendste Element des Kubernetes-Objektmodells ist der Pod, der als Host für einen oder mehrere Container dient.
- Dienste: Dienste bieten einen konsistenten Endpunkt für Pods und ermöglichen Lastenausgleich und Diensterkennung.
- Replikationscontroller: Sie garantieren, dass immer die erforderliche Anzahl von Pod-Replikaten in Betrieb ist.
- Geheimnisse und ConfigMaps: Diese Ressourcen werden verwendet, um die Konfigurationsdaten und Geheimnisse für Pods und andere Cluster-Objekte zu verwalten.
4. Was verstehen Sie unter Orchestrierung in Kubernetes?
Der Begriff „Orchestrierung“ bezeichnet in Kubernetes die automatisierte Verwaltung und Koordination von Containern und den damit verbundenen Ressourcen. Es umfasst Aktivitäten wie Networking, Skalierbarkeit, Bereitstellung und Selbstheilung. Mithilfe von Objekten wie Pods, Diensten und Replikationscontrollern orchestriert Kubernetes Anwendungen.
Pods, die einen oder mehrere Container aufnehmen können, sind die kleinsten einsetzbaren Einheiten. Dienste verwalten Lastverteilung und Diensterkennung und geben Pods einen soliden Endpunkt. Eine Replik eines Pods arbeitet dank Replikationscontrollern immer mit der erforderlichen Anzahl von Kopien.
5. Was genau ist ein Kubernetes-Cluster?
Ein Kubernetes-Cluster besteht aus einer Reihe von Knoten, auf denen containerisierte Anwendungen in verschiedenen Kontexten und auf verschiedenen Maschinen ausgeführt werden – cloudbasiert, physisch, virtuell und lokal. Es erleichtert die einfache Verwaltung und Migration von Apps sowie deren Erstellung.
6. Wie wird die containerisierte Bereitstellung durch Kubernetes vereinfacht?
Da eine typische Anwendung in einem Cluster von Containern auf vielen Hosts betrieben würde, müssten alle diese Container miteinander kommunizieren.
Um dies zu erreichen, ist also ein groß angelegtes System erforderlich, das die Container skalieren, ausgleichen und überwachen kann. Sie müssen Kubernetes verwenden, um die containerisierte Bereitstellung zu vereinfachen, da es Cloud-agnostisch ist und auf jedem öffentlichen oder privaten Anbieter betrieben werden kann.
7. Welche grundlegenden Unterschiede gibt es zwischen Kubernetes und dem Docker Swarm?
Planen und clustern Sie Docker-Container mit Docker Swarm, einem nativen Open-Source-Container-Orchestrierungstool von Docker. Die folgenden Merkmale unterscheiden Swarm von Kubernetes:
- Während Kubernetes und Docker Swarm beide keine automatischen Skalierungsfunktionen haben, ist Docker-Skalierung fünfmal schneller als Kubernetes.
- Kubernetes bietet eine GUI in Form eines Dashboards, aber Docker Swarm fehlt eines.
- Im Vergleich zu Kubernetes, das schwieriger einzurichten ist, aber die Garantie eines starken Clusters bietet, ist Docker Swarm einfacher zu installieren, hat aber kein stabiles Cluster.
- Während Kubernetes integrierte Funktionen für die Protokollierung und Überwachung enthält, benötigt Docker externe Tools wie den ELK-Stack.
- Laufende Updates können über Docker bereitgestellt werden, automatisierte Rollbacks jedoch nicht. Laufende Updates sowie automatisierte Rollbacks können mit Kubernetes bereitgestellt werden.
8. Was ist ein Namespace in Kubernetes?
Der Kubernetes-Namespace wird in einer Umgebung verwendet, in der mehrere Benutzer an zahlreichen Projekten in einem großen geografischen Gebiet arbeiten. Der Namensraum teilt die Cluster-Ressourcen auf mehrere Benutzer auf.
9. Was genau ist die Kubernetes etcd Master-Komponente?
Etcd ist ein wichtiger Bestandteil des Kubernetes-Masterservers. Darüber hinaus dient es als Hub des Kubernetes-Clusters, wo Elemente in einem verteilten Schlüsselwertspeicher gespeichert werden.
Die Replikationstechnologie wird in Verbindung mit einem Algorithmus verwendet, um die in etcd gespeicherten Daten zwischen Servern aufzubewahren. Beim Vergleichen und Austauschen von Daten zwischen etcd-Servern wird die optimistische Währung verwendet, um Sperrsituationen zu minimieren und die Servergeschwindigkeit zu erhöhen.
10. Welche Lösungen gibt es für die API-Sicherheit auf Kubernetes?
Die Bereitstellung von API-Sicherheit kann auf die unten aufgeführte Weise erfolgen:
- Mittels API-Authentifizierung
- Auswählen des geeigneten Authentifizierungsmodus für den API-Server-Authentifizierungsmodus = Knoten, RBAC
- Nachverfolgung von RBAC-Fehlern
- Sicherstellen, dass TLS zum Schutz des Datenverkehrs verwendet wird
- Verwenden von authorization-mode=Webhook, um sicherzustellen, dass Kubeless seine API schützt
- Eliminierung der standardmäßigen Dienstkontoberechtigungen
- Verwenden der neuesten Version von kube
- Stellen Sie sicher, dass das Kube-Dashboard einer strengen RBAC-Richtlinie folgt
- Implementieren einer Pod-Sicherheitsrichtlinie, um den Containerzugriff einzuschränken und den Knoten zu schützen
11. Was sind die Unterschiede zwischen Anwendungen, die auf Hosts und Containern bereitgestellt werden?
Ein Betriebssystem und eine Architektur bilden bereitgestellte Anwendungen. Das Betriebssystem verfügt über einen Kernel, der die mehreren Bibliotheken enthält, die von einer Anwendung benötigt werden.
Eine Maschine, auf der Prozesscontainer ausgeführt werden, wird als Containerhost bezeichnet. Da sich diese Art von Software von anderen Programmen unterscheidet, müssen die Apps die erforderlichen Bibliotheken enthalten. Die Binärdateien können keine Rechte anderer Software verletzen, da sie vom Rest des Systems getrennt sind.
12. Was meinst du eigentlich mit Minikube?
Mit Minikube lässt sich Kubernetes einfach lokal betreiben. Dadurch kann eine virtuelle Maschine einen Kubernetes-Cluster mit einem einzigen Knoten hosten.
13. Wie kann der Kubernetes-Cluster überwacht werden?
Der Betrieb und Status von Containern, die unter Kubernetes betrieben werden, kann mit einer Vielzahl von Methoden nachverfolgt werden. Prometheus, eines der am häufigsten verwendeten Instrumente, enthält eine Reihe von Teilen, die in den folgenden Abschnitten aufgeschlüsselt sind.
- Der Prometheus-Server sammelt und speichert Zeitreihendaten.
- Es enthält Client-Bibliotheken, die das Instrumentieren von Anwendungscode erleichtern.
- Es verfügt über ein Push-Gateway, das temporäre Jobs unterstützen kann.
- Es gibt Exporter mit spezialisierten Funktionen für eine Vielzahl von Containerdiensten, wie StatsD, HAProxy, Graphite usw.
- Zusätzlich erhalten Sie einen Alert-Manager, um Benachrichtigungen auf verschiedenen Support-Systemen zu verarbeiten.
14. Welche Funktion haben Kubernetes-Knoten?
Für den Betrieb von Pods bietet Node entscheidende Funktionen. Nods, die auch als Minions bezeichnet werden, können je nach Cluster auf jedem realen oder virtuellen Computer ausgeführt werden.
In Kubernetes ist der Knoten der primäre Arbeitscomputer, während Master-Komponenten jeden Knoten einzeln überwachen.
15. Beschreibe den Hipster im Detail.
Heapster führt die Daten im gesamten Cluster zusammen, die Kubelet, das auf jedem Knoten ausgeführt wird, generiert. Dieses Containerverwaltungstool wird von diesem Kubernetes-Cluster nativ unterstützt und fungiert als Pod wie jeder andere Pod im Cluster.
Im Grunde bedeutet dies, jeden Knoten im Cluster zu lokalisieren und einen Kubernetes-Agenten auf dem Computer zu verwenden, um Daten von den Kubernetes-Knoten des Clusters abzufragen.
16. Beschreiben Sie den Betrieb des Kubernetes-Masterknotens.
Der Masterknoten erhöht die herrschenden und kontrollierenden Knoten der Arbeiterknoten. Dies ähnelt einem Kubernetes-Cluster. Die Knoten sind für die Clusterverwaltung sowie die API zuständig, die zum Konfigurieren und Verwalten der Ressourcen der Sammlung verwendet wird. Aufgrund des Vorteils dedizierter Pods können Kubernetes-Masterknoten parallel zu Kubernetes selbst ausgeführt werden.
17. Was unterscheidet den Container vom Pod?
Als Replikationseinheit verwendet Kubernetes einen Pod, bei dem es sich um eine Gruppe von Containern handelt. Container sind die Sammlung von Codes, die ein Pod für eine Anwendung erstellen soll. Innerhalb desselben Pods können Container miteinander kommunizieren.
18. Was versteht man unter Load Balancer in Kubernetes?
Eine der am weitesten verbreiteten und akzeptierten Methoden zur Bereitstellung von Diensten ist ein Load Balancer. Je nach Arbeitsumgebung ist ein Load Balancer entweder ein interner Load Balancer oder ein externer Load Balancer.
Während der External Load Balancer den Datenverkehr von der externen Last zu den Backend-Pods leitet, gleicht der Internal Load Balancer die Last automatisch aus und weist die Pods mit der erforderlichen Konfiguration zu.
19. Welche Funktion erfüllt der Kube-API-Server?
Für die API-Objekte verifiziert und bietet dieser Typ Konfigurationsinformationen. Es besteht aus Replikationscontrollern, Diensten und Pods. Darüber hinaus bietet es REST-Operationen und die Schnittstelle des Clusters. Alle anderen Komponenten kommunizieren über diesen gemeinsamen Frontend-Cluster-Zustand miteinander.
20. Was bedeuten die Stateful Sets von Kubernetes?
Ein Workload-API-Objekt, das als Stateful Set bezeichnet wird, wird verwendet, um Stateful-Anwendungen zu verwalten. Es wird verwendet, um die Pod-Sätze zu skalieren und Bereitstellungen zu verwalten. In dem Plattenspeicher, der mit dem Stateful Set verknüpft ist, wurden die Zustandsinformationen und andere belastbare Daten von Stateful-Pods gespeichert und auf dem neuesten Stand gehalten.
21. Wie untersuchen Sie die zentralen Protokolle des Pods?
Zum Abrufen zentraler Protokolle aus dem Pod können Sie einen der beiden Protokollierungsstile verwenden.
- Verwenden Sie einen Protokollierungsagenten auf Knotenebene.
- Der Beiwagencontainer im Stream
- Verwenden Sie den Protokollierungsagenten zusammen mit dem Sidecar-Container.
- Exportieren Sie die Protokolle direkt aus dem Programm
22. ClusterIP: Was ist das?
Der Standarddienst von Kubernetes, ClusterIP, bietet einen internen Clusterdienst (ohne externen Zugriff), auf den andere Apps in Ihrem Cluster zugreifen können.
23. Erzählen Sie mir von Replikationscontrollern?
Für alle langlebigen Pods dienen Replikationscontroller als Supervisoren. Es garantiert, dass zu jedem Zeitpunkt die erforderliche Anzahl von Pods aktiv ist und dass jeder Pod oder jede Gruppe von Pods eine konsistente Struktur aufweist.
Wenn mehr Pods als die beabsichtigte Anzahl vorhanden sind, werden die überschüssigen Pods beendet. Darüber hinaus ersetzt der Controller sofort alle fehlerhaften Pods.
24. Wie funktioniert das Ingress-Netzwerk und was ist es?
Benutzer können dank eines als Ingress bezeichneten Elements von außerhalb des Kubernetes-Clusters auf Ihre Kubernetes-Dienste zugreifen. Durch die Einrichtung von Regeln, die angeben, welche eingehenden Verbindungen bestimmte Dienste erreichen, können Benutzer den Zugriff konfigurieren.
Dieses API-Objekt bietet die Routingregeln, die erforderlich sind, um zu steuern, wie Besucher von außerhalb des Clusters über HTTPS/HTTP auf die Dienste im Kubernetes-Cluster zugreifen. Damit können Benutzer die Traffic-Routing-Regeln schnell und effizient erstellen, ohne mehrere Load Balancer erstellen oder jeden Dienst für die Knoten verfügbar machen zu müssen.
25. Prometheus in Kubernetes: Wozu dient es?
Ein Open-Source-Toolkit namens Prometheus wird verwendet, um die Anwendung abhängig von Metriken zu überwachen und zu warnen. Es bietet ein Datenschema und eine Abfragesprache und kann Metrikinformationen und Aktionen liefern. Es ermöglicht den Gebrauch von Sprache für viele instrumentelle Zwecke.
Neben Alertmanager und Grafana bietet der Prometheus-Operator ein einfaches Monitoring für Deployments und K8s-Dienste.
26. Was ist Headless-Service?
Ein Headless-Dienst ist einer, der eine IP-Adresse verwendet, aber Informationen über verbundene Pods statt Lastenausgleich liefert.
27. Was benötige ich, um die Kubernetes-Architektur lokal auszuführen?
Für die Kubernetes-Integration wurden mehrere lokale Infrastrukturen umgestaltet. Um Speicher, Server und Netzwerke in ein nahtloses System zu integrieren, ist Fachwissen auf höchstem Niveau erforderlich.
Die Auswahl der geeigneten Netzwerk- und Speicherhardware ist für Kubernetes von entscheidender Bedeutung, da sie die Interaktion mit Ressourcen für Speicher, Load Balancer usw. ermöglicht. Die Automatisierung von Netzwerk- und Speicherkomponenten ist eine Schlüsselkomponente des Leistungsversprechens von Kubernetes.
28. Was versteht man unter Stateful Set?
Das als Stateful Set bekannte Arbeitslast-API-Element wird verwendet, um Stateful-Anwendungen zu verwalten. Es kann auch verwendet werden, um die Pod-Sätze zu skalieren und Bereitstellungen zu verwalten. Der Plattenspeicher, der mit dem zustandsbehafteten Satz verbunden ist, enthält die Zustandsinformationen und andere Daten für die zustandsbehafteten Pods.
29. Was bedeuten Schergen in Kubernetes?
In Kubernetes wird ein Knoten als Arbeitsmaschine bezeichnet; zuvor war es als Minion bekannt. Basierend auf einem Cluster kann es sich um einen virtuellen Computer oder eine reale Maschine handeln.
Jeder Knoten wird von Kubernetes-Masterkomponenten verwaltet und enthält die Dienste, die zum Betreiben von Pods erforderlich sind. Die Containerlaufzeit, Kubelet und Kube-Proxy sind in den vom Knoten angebotenen Diensten enthalten.
30. Welche Funktionen erfüllen Dienste innerhalb der Kubernetes-Komponenten?
Durch die Bereitstellung der virtuellen IP-Adresse dient ein Dienst als Abstraktion für Pods. Die virtuelle IP-Adresse erleichtert Benutzerverbindungen zu Containern, die in Pods ausgeführt werden. Es ist eine Komponente, die bestimmt, wie Container innerhalb von Pods angeordnet sind.
31. Was genau ist Helm?
Die von CNF verwaltete Helm-Anwendungspaketverwaltungsregistrierung ist für Kubernetes verfügbar. Die vorkonfigurierte Helmkarten kann heruntergeladen und in Ihrem Kubernetes-System bereitgestellt werden. Eine der beliebtesten Paketverwaltungslösungen für die Kubernetes-Umgebung ist diese. DevOps-Teams können Apps in Produktions- und Entwicklungsumgebungen bereitstellen, sie versionieren und ihren Fortschritt anhand der vorhandenen Diagramme verfolgen.
32. Erklären Sie PVC
PVC ist ein Akronym für Persistent Volume Claim. Es ist Speicher, den Kubernetes für Pods angefordert hat. Benutzerkenntnisse der zugrunde liegenden Bereitstellung sind nicht erforderlich. Der Namespace, in dem der Pod gebildet wird und in dem diese Behauptung aufgestellt werden soll, sollte übereinstimmen.
Zusammenfassung
Die Fragen und Antworten zu Kubernetes-Interviews sind vollständig.
Es gibt zweifellos noch mehr über Kubernetes zu lernen, die Spitzentechnologie, die es möglich gemacht hat, Tausende von Containern zu verwalten und zu betreiben, aber dies ist ein solider Ausgangspunkt. Hilfe bei der Vorbereitung auf das Vorstellungsgespräch finden Sie unter Hashdorks Interview-Reihe.
Hinterlassen Sie uns einen Kommentar