Die 20 wichtigsten Fragen und Antworten zu Kubernetes-Interviews, die Sie im Jahr 2022 kennen müssen

Veröffentlicht: 2021-01-04

Kubernetes ist eines der gefragtesten Container-Orchestrierungstools auf dem heutigen Markt. Dieses System, das 2014 von Google als Open Source bereitgestellt wurde, hat sich zu einem Favoriten bei Unternehmen wie SoundCloud, SAP, der New York Times, eBay, Huawei und vielen anderen entwickelt.

Aber es gibt nur wenige qualifizierte Experten, um die enorme Nachfrage nach Kubernetes-zertifizierten Fachleuten zu decken. Darüber hinaus legen die heutigen Auswahlverfahren großen Wert auf technische Konzepte. Daher ist es immer ratsam, Ihre Antworten auf Kubernetes-Interviewfragen im Voraus vorzubereiten .

Die Grundidee von Kubernetes besteht darin, die zugrunde liegenden Computerressourcen zu abstrahieren. Es entfernt Maschinen, Speicher und Netzwerke von ihren physischen Implementierungen. Zweifellos nimmt die Dynamik hinter der Plattform zu. Kubernetes wird als das Betriebssystem der Cloud bezeichnet. Erfahren Sie mehr über Kubernetes und seine Vernetzung.

Wenn Sie eine Karriere in diesem Bereich anstreben, gehen Sie die unten aufgeführten Kubernetes-Interviewfragen durch. Machen Sie den ersten Schritt und machen Sie sich mit den Grundlagen vertraut!

Fragen und Antworten zu Kubernetes-Interviews 2022

1. Kubernetes definieren.

Kubernetes ist viel mehr als eine Containerisierungsplattform. Es automatisiert die Aufgaben der Bereitstellung, Skalierung und des Lastausgleichs von Anwendungen. Außerdem funktioniert dieses Multi-Container-Verwaltungstool gut mit den meisten Cloud-Anbietern und profitiert von den Beiträgen einer erfahrenen Open-Source-Community. Kubernetes ist in Go-Programmiersprachen geschrieben.

2. Nennen Sie einige Schlüsselfunktionen von Kubernetes.

    1. Automatisierte Planung – Erweiterter Planer zum Starten von Containern auf Cluster-Knoten.
    2. Selbstheilung – Kann abgelaufene Container neu planen, ersetzen und neu starten.
    3. Automatisierte Rollouts und Rollbacks – Unterstützt Rollouts und Rollbacks.
    4. Horizontale Skalierung – Möglichkeiten, Anwendungen je nach Bedarf nach oben oder unten zu skalieren.
  1. Listen Sie die Unterschiede zwischen Kubernetes und Docker Swarms auf.

Docker Swarm ist ein Tool zum Erstellen von Containern für ihr Lebenszyklusmanagement. Kubernetes ist umfangreicher als Docker Swarm, da es Cluster orchestrieren und Cluster von Knoten in großem Maßstab koordinieren soll. Obwohl Kubernetes hochgradig skalierbar ist, lässt sich Docker Swarm etwa fünfmal schneller skalieren als Kubernetes. Außerdem führt Docker Swarm einen automatischen Lastenausgleich des Datenverkehrs zwischen verschiedenen Containern durch, für den ein manueller Eingriff in Kubernetes erforderlich ist.

Aber Kubernetes hat andere Fähigkeiten. Es verfügt über integrierte Protokollierungs- und Überwachungstools sowie einen automatischen Rollback-Mechanismus. Docker Swarm kann keine automatischen Rollbacks und keine automatische Skalierung wie Kubernetes durchführen.

4. Wie unterscheidet sich die Anwendungsbereitstellung auf Hosts von der Bereitstellung auf Containern?

Wenn Sie eine Anwendung auf Hosts bereitstellen, lässt der Kernel des Betriebssystems zu, dass viele Bibliotheken darauf installiert werden. Alle Anwendungen teilen sich die verschiedenen Bibliotheken, die auf diesem Betriebssystem vorhanden sind. Die Architektur der Bereitstellung von Anwendungen auf Containern ist jedoch etwas anders.

In der containerisierten Architektur ist der Kernel das Einzige, was die Anwendungen gemeinsam haben. Andere Anwendungen können nicht in die Bibliotheken und Binärdateien eingreifen, die von einer Anwendung benötigt werden. Sie existieren also isoliert vom Rest des Systems. Wenn beispielsweise eine bestimmte Anwendung Python erfordert, erhält nur diese Anwendung Zugriff darauf.

5. Was verstehen Sie unter Container-Orchestrierung? Warum brauchen Sie es?

Angenommen, es gibt 4-5 Microservices für eine Anwendung. Nun würden sich diese Microservices in einzelnen Containern befinden. Daher wäre eine Container-Orchestrierung erforderlich, damit die Dienste miteinander kommunizieren und zusammenarbeiten können, um die Anforderungen des Servers zu erfüllen. Der Prozess ist wie bei einem Musikorchester, bei dem verschiedene Instrumente harmonisch gespielt werden, um eine Komposition zu bilden.

6. Was ist Kubelet?

Kubelet ist ein Agentendienst, der Pods ausführt. Ein Pod ist nichts anderes als eine Gruppe von Containern, die auf demselben Host bereitgestellt werden oder einige gemeinsame Ressourcen haben, z. B. eine einzelne IP, Volumes usw. Das Kubelet arbeitet an den Beschreibungen dieser Container, die in der PodSpec bereitgestellt werden. Sein Hauptzweck besteht darin, auf jedem Knoten ausgeführt zu werden, sicherzustellen, dass die Container fehlerfrei sind und ausgeführt werden, und die Kommunikation zwischen Master- und Worker-Knoten weiter zu ermöglichen.

Lesen Sie: Full Stack Interview Fragen und Antworten

7. Welche Rolle spielen Cluster in Kubernetes?

Mit Kubernetes können Sie die erforderliche Zustandsverwaltung erzwingen, indem Sie Clusterdienste einer bestimmten Konfiguration speisen. Anschließend führen diese Clusterdienste diese Konfiguration in der Infrastruktur aus. Folgende Schritte sind an dem Prozess beteiligt:

  • Die Bereitstellungsdatei enthält alle Konfigurationen, die in die Clusterdienste eingespeist werden sollen.
  • Die Bereitstellungsdatei wird in die API eingespeist.
  • Jetzt planen die Clusterdienste die Pods in der Umgebung
  • Clusterdienste stellen auch sicher, dass die richtige Anzahl von Pods ausgeführt wird

Der Kubernetes-Cluster besteht also im Wesentlichen aus der API, den Worker-Knoten und dem Kubelet-Prozess der Knoten.

8. Wofür wird Kubectl verwendet?

Kubectl ist ein Tool zur Steuerung von Kubernetes-Clustern. Tatsächlich steht „ctl“ für Kontrolle. Es ist eine Befehlszeilenschnittstelle, mit der Sie Befehle an den Cluster übergeben und die Kubernetes-Komponente verwalten können.

9. Definieren Sie Google Container Engine.

Google Container Engine (GKE) ist eine Verwaltungsplattform, die Docker-Container und -Cluster unterstützt, die in den öffentlichen Cloud-Diensten von Google ausgeführt werden. Es ist eine Open-Source-Engine, die auf Kubernetes basiert.

10. Erklären Sie die Verwendung von Knoten in Kubernetes.

Ein Knoten stellt die erforderlichen Dienste zum Ausführen von Pods bereit. Knoten, die auch als Minions bezeichnet werden, können je nach Cluster auf einer physischen oder virtuellen Maschine ausgeführt werden. In Kubernetes ist ein Knoten der Hauptarbeitscomputer, und Masterkomponenten verwalten jeden Knoten im System.

Jetzt, da Sie mit den Grundlagen auf dem neuesten Stand sind, schauen wir uns ein paar weitere Fragen und Antworten zu Kubernetes-Interviews an, um Klarheit zu gewinnen.

11. Was sind die zwei Hauptkomponenten der Kubernetes-Architektur?

Der Master-Knoten und der Worker-Knoten bilden die Kubernetes-Architektur. Beide Komponenten verfügen über mehrere integrierte Dienste. Beispielsweise hat die Master-Komponente den kube-controller-manager, kube-scheduler, etcd und kube-apiserver. Auf jedem Knoten des Worker-Knotens werden Dienste wie Container Runtime, Kubelet und Kube-Proxy ausgeführt.

Lesen Sie: Reagieren Sie Interviewfragen und -antworten

12. Definieren Sie kube-apiserver und kube-scheduler.

Kube-apiserver ist das Front-End des Master-Knoten-Bedienfelds, das alle Komponenten-APIs verfügbar macht. Es stellt die Kommunikation zwischen Kubernetes-Knoten und Master-Komponenten her. Der Kube-Scheduler verwaltet die Arbeitslast der Worker-Knoten. Es verfolgt die Ressourcennutzung, um sicherzustellen, dass die Planung auf geeigneten Knoten erfolgt.

13. Erklären Sie kurz die Rolle des Kubernetes Controller Managers.

In Kubernetes laufen auf der Masternode verschiedene Prozesse, die in Form des Kubernetes Controller Managers zusammengefasst werden. Es ist ein Daemon, der Controller einbettet, einschließlich der folgenden:

  • Node Controller: Verwaltet den Status, dh Knoten erstellen, aktualisieren und löschen
  • Replication Controller: Verwaltet Pods für jedes Replikationsobjekt
  • Dienstkonto und Token-Controller: Betrifft die Standardkonten und API-Zugriffstoken für neue Namespaces
  • Endpunkt-Controller: Verwaltet die Endpunkt-Objekte (Pods und Dienste)
  1. Was macht ein Cloud-Controller-Manager?

Ein Cloud Controller Manager (CCM) ist ein Daemon, der das Einbetten cloudspezifischer Regelkreise ermöglicht. Es abstrahiert den Cloud-spezifischen Anbietercode vom Kubernetes-Kerncode. Es hilft auch bei der Verwaltung der Kommunikation mit zugrunde liegenden Cloud-Diensten. Sein Design basiert auf dem Plugin-Mechanismus, was bedeutet, dass Cloud-Anbieter ihren Code mithilfe von Plugins in das CCM integrieren.

15. Welche Rolle spielt ein Load Balancer?

Ein Load Balancer bietet eine Standardmethode zur Verteilung des Netzwerkverkehrs auf verschiedene Backend-Dienste und maximiert so die Skalierbarkeit. Je nach Arbeitsumgebung kann es zwei Arten von Load Balancern geben – intern oder extern.

Der Internal Load Balancer kann die Last automatisch ausgleichen und den Pods die erforderliche Konfiguration zuweisen. Andererseits leitet der External Load Balancer den externen Lastverkehr zu den Backend-Pods. In Kubernetes funktionieren die beiden Load-Balancing-Methoden über die kube-proxy-Funktion.

16. Wie können Sie Kubernetes lokal ausführen?

Sie können Kubernetes lokal mit dem Minikube-Tool ausführen. Es führt einen Single-Node-Cluster in einer virtuellen Maschine auf Ihrem Laptop aus. Es bietet also eine effiziente Möglichkeit für Benutzer, die gerade erst anfangen und Kubernetes ausprobieren möchten.

17. Was ist Heapster?

Heapster ist ein Tool zur Leistungsüberwachung und Erfassung von Metriken, das nativ im Kubernetes-Cluster unterstützt wird. Er läuft wie jeder andere Pod im Cluster, erkennt alle Knoten und fragt Informationen von Kubernetes-Knoten ab. Dieses Container-Management-Tool funktioniert über einen On-Machine-Agent.

18. Was ist ETCD in Kubernetes?

Etcd ist ein Speicher für die Konfiguration, den Status und die Metadaten von Kubernetes-Clustern. Es ist in der Programmiersprache Go geschrieben und repräsentiert den Clusterzustand zu einem bestimmten Zeitpunkt. Dieser Datenspeicher dient als Rückgrat verteilter Systeme.

19. Was verstehen Sie unter Container-Ressourcenüberwachung?

Aus Benutzersicht ist es wichtig, die Ressourcennutzung auf verschiedenen Abstraktionsebenen und -ebenen wie Container-Pods, Services und dem gesamten Cluster zu verstehen. Jede Ebene kann mit verschiedenen Tools überwacht werden, nämlich:

  • Grafana
  • Haufen
  • InfluxDB
  • CAdvisor
  • Prometheus
  1. Wie können Sie die Sicherheit Ihrer Umgebung bei der Verwendung von Kubernetes gewährleisten?

Sie können die folgenden Sicherheitsmaßnahmen bei der Verwendung von Kubernetes befolgen und implementieren:

  • Beschränken Sie den ETCD-Zugriff
  • Beschränken Sie den direkten Zugriff auf Knoten
  • Ressourcenkontingent definieren
  • Alles sollte in der Produktionsumgebung protokolliert werden
  • Verwenden Sie Bilder aus dem autorisierten Repository
  • Erstellen Sie strenge Regeln und Richtlinien für Ressourcen
  • Führen Sie kontinuierliche Sicherheits- und Schwachstellen-Scans durch
  • Wenden Sie regelmäßig Sicherheitsupdates an

Holen Sie sich einen Softwareentwicklungskurs von den besten Universitäten der Welt. Verdienen Sie Executive PG-Programme, Advanced Certificate-Programme oder Master-Programme, um Ihre Karriere zu beschleunigen.

Einpacken

In diesem Artikel haben wir die wichtigsten Fragen zu Kubernetes-Interviews behandelt, damit Sie Ihre Karriereziele verwirklichen können. Nehmen Sie also die Lernherausforderung an und vergessen Sie nicht, zu wiederholen!

Wenn Sie Kubernetes, DevOps und mehr lernen und beherrschen möchten, sehen Sie sich das Executive PG-Programm von IIIT-B & upGrad im Full-Stack-Softwareentwicklungsprogramm an.

Bereiten Sie sich auf eine Karriere der Zukunft vor

Bewerben Sie sich jetzt für den Master in Software Engineering