Servicemanagement in Netzen - Leischner

 

Fragenkatalog 1 zu Kubernetes

 Der Fragenkatalog bezieht sich auf Lukša Marko: Kubernetes in Action, Hanser, 2018.

 

Fragen zu Kap. 3: Pods: Container in Kubernetes ausführen.

  1. Wer holt bei Kubernetes bei Bedarf ein Image aus der Registry? Mögliche Antworten: (a) Kubectl, (b) Kubelet, (c) Docker, (d) Kube-Proxy, (e) Masterknoten.

  2. Skizzieren Sie die Architektur eines Kubernetes-Clusters in einer präzisen Skizze (die die wichtigsten Komponenten enthält) und erläutern Sie die Aufgaben der einzelnen Komponenten.

  3. Was ist ein Pod? Was ist der Unterschied zwischen einem Container und einem Pod? In welcher Beziehung stehen Container und Pod? Was ist die Begründung für einen Pod? Warum hat man das Konzept Pod überhaupt eingeführt?

  4. Warum ist es weniger sinnvoll, mehrere Prozesse in einem Container auszuführen? Erläutern Sie diese Fragestellung.

  5. Durch was sind die Container eines Pods untereinander verbunden? Was ist das verbindende Element?

  6. Haben alle Container in einem Pod die gleichen Interfaces? Begründen Sie Ihre Antwort.

  7. Haben alle Container in einem Pod die gleiche Loopback-Adresse? Begründen Sie Ihre Antwort.

  8. Nutzen alle Container in einem Pod die gleichen Ports? Begründen Sie Ihre Antwort.

  9. Haben alle Container in einem Pod das gleiche Dateisystem? Begründen Sie Ihre Antwort.

  10. Wie kommunizieren Pods in einem Cluster untereinander? Was ändert sich an der Kommunikation, wenn das Cluster über mehrere Hosts verteilt ist?

  11. Eine Anwendung bestehe aus einem Front-End-Anwendungsserver und einer Backend-Datenbank. Diskutieren Sie die Aufteilung der Anwendung in Container und Pods. Achten Sie auf eine strukturierte Darstellung (Art der Darstellung geht in die Bewertung ein).

  12. Geben Sie ein typisches Anwendungsszenario für einen Pod an, der mehr als einen Container enthält.

  13. In welche drei Hauptbestandteile ist ein YAML-Podspezifikation strukturiert? Erläutern Sie diese kurz in ein, zwei Sätzen.

  14. Wie kann man auf ein Webinterface eines laufenden Pods zu Testzwecken einfach von außen zugreifen?

  15. Was ist in Kubernetes ein Label? Wie ist ein Label definiert? Für was wird ein Label verwendet?

  16. Kann einem Pod mehr als ein Label zugewiesen werden? Wenn ja ist das sinnvoll?

  17. Was ist ein Canary-Release? Wie und warum wird es eingesetzt?

  18. Ein Labelselektor kann mehrere Bedingungen enthalten. Mit welchem logischen Operator werden diese Bedingungen bei der Selektion verknüpft?

  19. Wie gehen sie vor, wenn Sie sicherstellen möchten, dass ein Pod nur auf bestimmten Knoten ausgeführt wird?

  20. Was sollte bei der Zuordnung von Pods zu Knoten beachtet werden. Welche Art von Zuordnungen sind hier sinnvoll, welche weniger bzw. nicht sinnvoll. Erläutern Sie Ihre Ausführungen.

  21. Was ist der Unterschied zwischen Labels und Annotations?

  22. Können Pods mit Annotations gruppiert werden?

  23. Welche grundsätzlichen Möglichkeiten gibt es bei Kubernetes, einen Namespace zu erstellen?
  24. Für was verwendet man Namespaces? Geben Sie ein typisches Anwendungsszenario für die Verwendung von Namespaces an.
  25. Geben Sie verschiedene Möglichkeiten an, wie sich nicht mehr benötigte Pods löschen lassen.

 

Fragen zu Kap. 4: Replikationscontroller & Co.: Verwaltete Pods bereitstellen

  1. Wenn ein Container in einem Pod ausfällt, wer genau sorgt dafür, dass dieser Pod wieder gestartet wird?

  2. Wenn von mehreren Containern in einem Pod nur einer abstürzt, wird dieser wieder gestartet?

  3. Was ist In Kubernetes eine Aktivitätssonde ("Liveness Probe")? Wie unterscheidet sie sich von der Bereitschaftssonde (Readiness Probe")?

  4. Nennen Sie drei Mechanismen, mit denen Kubernetes (genauer: das verantwortliche Kubelet) die Bereitschaft eines Containers untersuchen kann.

  5. Warum ist bei Aktivitätssonden der Parameter initialDelaySeconds wichtig? Wie sollte er konkret gesetzt werden?

  6. Welche Punkte sollten Sie beachten, um bei Kubernetes wirkungsvolle Aktivitätssonden zu erstellen?

  7. Aus welchen drei Hauptbestandteilen besteht ein Replikationscontroller? Erläutern Sie anhand dieser Hauptbestandteile die Funktionsweise eines Replikationscontrollers.

  8. Kann es vorkommen, dass in einem System mehr als die gewünschte Anzahl von Pods läuft? Erläutern Sie Ihre Antwort.

  9. Welche Auswirkung hat bei einem Replikationcontroller die Änderung des Pod-Templates auf bereits bestehende Pots?

  10. Wie erkennt eine Replikationscontroller, dass ein Container gelöscht wurde? Wie reagiert er im Detail auf einen Löschbefehl?

  11. Ein Pod wird von einem Replikationscontroller verwaltet. Welche Auswirkung hat die Änderung eines Pod-Labels? Unterscheiden Sie verschiedene Fälle.

  12. Wie reagiert Kubernetes auf den Ausfall eines ganzen Knotens?

  13. Woher weiß ein Replikationcontroller, um welche Pods er sich kümmern muss?

  14. Was passiert, wenn Sie den Labelselektor eines Replikationcontrollers ändern?

  15. Welche Möglichkeiten haben Sie, die Anzahl der Replikationen eines Pods zu ändern?

  16. Erläutern Sie, inwiefern die Skalierung von Pods deklarativ erfolgt.

  17. Erläutern Sie den Unterschied zwischen einem Replikationcontroller (ReplicationController) und einem Replakationssatz (ReplicaSet).

  18. Was ist die Aufgabe eines Daemonsets?

  19. Erläutern Sie den Unterschied zwischen einem Replikationssatz (ReplicaSet) und einem Daemonset (DaemonSet).

  20. Geben Sie ein typisches und realistisches Beispiel für die Verwendung eines Daemonsets.

  21. Was passiert beim Hinzukommen eines neuen Knotens im Fall eines Daemonsets?

  22. Was passiert bei einem Knotenausfall mit denjenigen Pods, die von Jobs auf diesem Knoten verwaltet werden?

  23. Können Jobs so eingerichtet werden, dass sie mehrere Pod-Instanzen parallel ausführen? Wenn ja, geben Sie hierfür eine sonnvolles Beispiel an. Wenn nein, begründen Sie, warum dies nicht sinnvoll ist.

  24. Können Jobs so eingerichtet werden, dass sie mehrere Pod-Instanzen hintereinander ausführen? Wenn ja, geben Sie hierfür eine sonnvolles Beispiel an. Wenn nein, begründen Sie, warum dies nicht sinnvoll ist.

  25. Wie lange soll ein Job auf den Abschluss eines einzelnen Jobs warten? Diskutieren Sie kurz diese Fragestellung.

  26. Mit welcher Methode lassen sich bei Kubernetes sich regelmäßig wiederholende Aufgaben realisieren. Welche Anforderung ist an die sich regelmäßig wiederholende Aufgabe zu stellen, damit etwaige Probleme vermieden werden.

  27. Was bewirkt --cascade=false, wenn man einen Replikationcontroller löscht?

 

Fragen zu Kap. 5: Dienste: Pods finden und mit ihnen kommunizieren.

  1. Auf Dienste in traditionellen vernetzten Systemen wird üblicherweise über eine Hostnamen oder über eine IP-Adresse zugegriffen. Erläutern Sie Gründe, warum dies bei Kubernetes für den Zugriff auf Pods so nicht funktioniert. (Saubere Gliederung: Grund_1, Grund_2, ...)

  2. Erläutern Sie das Konzept der Dienste in Kubernetes. Was sind die Vorteile von Diensten? Warum sind Pods nicht ausreichend?

  3. Was ist der konzeptionelle Unterschied zwischen einem Pod und einem Kubernetes-Dienst?

  4. Mit welcher Methode wird festgelegt, welcher Pod zu einem Dienst gehört und welcher nicht?

  5. Nennen Sie verschiedene Methoden, um die Funktion eines Dienstes in einem Cluster zu testen. (Saubere Gliederung: Methode_1, Methode_2, ...)

  6. Was versteht man unter einer Sitzungsaffinität? Was genau bewirkt eine Sitzungsaffinität? Was sind typische Anwendungsfälle?

  7. Warum ist es sinnvoll bei Pods und Diensten die Ports zu benennen?

  8. Geben Sie zwei grundsätzliche Verfahren an, wie Pods die IP-Adresse und die Ports eines Dienstes finden können.

  9. Beschreiben Sie an einem Beispiel, wie das Finden von Diensten mit Hilfe von Umgebungsvariablen funktioniert. Erläutern Sie die Vorteile hiervon aus Sicht der Anwendungsprogrammierung? Wie würde das Auffinden von Diensten ohne Umgebungsveriablen ablaufen?

  10. Kann der Kubernetes-DNS-Server auch Adressen außerhalb des Clusters auflösen?

  11. Wie sind die DNS-Namen von Diensten in einem Kubernetes-Cluster strukturiert? In welcher Form können DNS-Namen verwendet werden?

  12. Was ist ein grundsätzlicher Vorteil für die Verwendung von DNS-Namen im Vergleich zu IP-Adressen?

  13. Lassen sich in Kubernetes Dienste, die erreichbar sind, über die IP-Adresse anpingen?

  14. Lassen sich in Kubernetes Dienste, die erreichbar sind, über den DNS-Namen des Dienstes anpingen?

  15. Wie ist in Kubernetes die Verbindung eines Dienstes zu seinen Endpunkten konzeptionell gelöst?

  16. Wie werden Dienst-Endpunkt-Objekte verwaltet und gemanaged?

  17. Wie können externe Dienste in ein Kubernetes-Cluster integriert werden?

  18. Welche grundsätzlichen Möglichkeiten gibt es bei Kubernetes einen Dienst für externe Clients verfügbar zu machen?

  19. Was versteht man bei Kubernetes unter einem NodePort?

  20. Was ist der Unterschied bei der Dienstbereitstellung zwischen einem LoadBalancer und einem NodePort? Wägen Sie (in Stichpunkte strukturiert) Vor- und Nachteile ab.

  21. Im Zusammenhang mit Services haben wir es mit verschiedenen Port-Typen zu tun. Erläutern Sie den Unterschied zwischen port, targetPort und nodePort.

  22. Was bedeutet im Zusammenhang mit Diensten die Einstellung externalTrafficPolicy: Local ?

  23. Erklären Sie die Nachteile von NodePort und LoadBalancer und erläutern Sie, welche Vorteile ein Ingress bietet und wie ein Ingress funktioniert.

  24. Auf welcher OSI-Schicht läuft ein Ingress?

  25. Was ist die Aufgabe einer Bereitschaftsonde? Erläutern Sie diese Aufgabe an einem Beispiel und arbeiten Sie den Unterschied zu einer Aktivitätssonde prägnant heraus.

  26. Welche Arten von Bereitschaftssonden werden unterschieden? Erläutern Sie diese kurz.

  27. Was passiert mit einem Pod, wenn die Bereitschaftsonde meldet, dass der Pod nicht bereit ist? Vergleichen Sie dies mit der Funktionsweise einer Aktivitätssonde.

  28. Erläutern Sie an einem gut gewählten Beispiel, die Wichtigkeit von Bereitschaftsonde .

  29. Was versteht man bei Kubernetes unter einem Headless-Dienst? Was ist eine typische Anwendung eines Headless-Dienstes?

  30. Wie findet man für einen Headless-Dienst die IP-Adressen der hinter dem Dienst liegenden Pods heraus?

  31. Warum ist es in einer Kubernetes-Umgebung nicht immer sinnvoll die Verfügbarkeit eines Services über ein IP-Ping zu testen?

 

Student Fragen
Brück, Meik Kap 3, Frage 1/2/3/4/5/6
Esch, Malte Kap 3, Frage 7/8/9/10/11/12
Maus, Moritz Kap 3, Frage 13/14/15/16/17/18
Möller-Börkel, Simon Kap 3, Frage 19/20/21/22/23/24/25
Müller, Marcus Kap 4, Frage 1/2/3/4/5
Roobi, Marco Kap 4, Frage 6/7/8/9/10
Abbas, Ali Kap 4, Frage 11/12/13/14/15/16
Afreen, Laila Kap 4, Frage 17/18/19/20/21/22
Akter, Mahmuda Kap 4, Frage 23/24/25/26/27
Akuba, Godfrey Ojimah Kap 5, Frage 1/2/3/4/5
Dadhich, Chhavi Kap 5, Frage 6/7/8/9/10
Padyab, Emad Kap 5, Frage 11/12/13/14/15/16
Raza, Ihtesham Kap 5, Frage 17/18/19/20/21
Ramesh, Poornima Kap 5, Frage 22/23/24/25
Schauer, Lukas Kap 5, Frage 26/27/28/29/30/31

 

Impressum | Datenschutz | leischner.inf.h-brs.de, last modification: 12.09.2022-10.46