Servicemanagement in Netzen - Leischner

 

Fragenkatalog 2 zu Kubernetes

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

 

Fragen zu Kapitel 6, Volumes: Festplattenspeicher zu Containern hinzufügen.

  1. Was versteht man unter einem Kubernetes-Volume? Welche Aufgabe erfüllt ein Kubernetes-Volume?

  2. Ist ein Kubernetes-Volume einem Pod oder einem Container zugeodrnet? Erläutern Sie diese Fragestellung.

  3. Was ist die Lebensdauer eines Kubernetes-Volumes? Wie verhält es sich mit der Lebensdauer der Daten in einem Kubernetes-Volume?

  4. Nennen Sie mindestens drei verschiedene Typen von Kubernetes-Volumes und erläutern Sie diese kurz. (Punkteabzug bei Falschnennung.)

  5. Was sind die typischen Verwendungszwecke für ein Kubernetes-Volume vom Typ emptyDir?

  6. Können bei Kubernetes Git-Repositories als Ausgangspunkt für ein Volume verwendet werden?

  7. Beschreiben Sie an einem Beispiel die Beziehung zwischen einem gitRepo Volume und dem zugehörigen Git-Repository.

  8. Wie lässt sich ein gitRepo Volume mit dem zugehörigen Git-Repository synchron halten?

  9. Was versteht man unterm einem Side-Container? Geben Sie ein gutes Beispiel für den Einsatz eines Side-Containers an.

  10. Für welche Anwendungen sind hostPath-Volumes geeignet? Geben Sie ein Beispiel.

  11. Welche speziellen Eigenschaften haben hostPath-Volumes?

  12. Welche spezielle Einschänkung haben hostPath-Volumes?

  13. Welche der folgenden Volumetypen ist für die persiste Datenspeicherung geeignet:

    • emptyDir-Volumes?
    • gitRepo -Volumes?
    • hostPath-Volumes?
  14. Begründen Sie kurz Ihre Antwort.
  15. Eine Pod möchte Daten auf einem Linux-NAS persistent speichern. Beschreiben Sie die grundsätzliche Vorgehensweise, wie ein NFS-Volume auf dem Linux-NAS in Kubernetes eingebunden werden kann.

  16. Was versteht man bei Kubernetes unter einem PersistentVolume ? Was versteht man bei Kubernetes unter einem PersistentVolumeClaim ?

  17. Erläutern Sie für Kubernetes anhand einer Skizze das Zusammenspiel zwischen PersistenVolume und PersistentVolumeClaim. Gehen Sie hierbei auf die Rollen Administrator und Anwendungsentwickler ein.

  18. Was sind die Vorteile bei der Verwendung von persistent Volumes und Claims?

  19. Was wird mit dem Parameter VolumeReclaimPolicy gesteuert. Erläutern Sie dies an einem Beispiel.

  20. Welche Idee verbirgt sich hinter der dynamischen Bereitstellung von persistenten Volumes? Welche Vorteile ergeben sich hierdurch?

  21. Wie wird die dynamischen Bereitstellung von persistenten Volumes realisiert? Was ist hierfür praktisch notwendig?

Fragen zu Kapitel 7, Konfigurationszuordnungen und Secrets: Anwendungen konfigurieren.

  1. Beschreiben Sie klar strukturiert, auf welche verschiedenen Arten sich in Kubernetes Anwendungen konfigurieren lassen. Gehen Sie kurz auf die Vor- und Nachteile der jeweiligen Methode ein.

  2. In einem Docker-File sind die Anweisungen ENTRYPOINT und CMD möglich. Erläutern Sie die Bedeutung und den korrekten Gebrauch dieser beiden Anweisungen.

  3. In einem Docker-File sind die Anweisungen ENTRYPOINT node app.js und ENTRYPOINT ["node", "app.js"] möglich. Erläutern Sie den Unterschied zwischen diesen beiden Anweisungen.

  4. Welche der folgenden Anweisungen eines Docker-Files können durch Kubernetes überschrieben werden?

    • ENTRYPOINT
    • CMD
  5. Auf welcher Ebene können in Kubernetes Umgebungsvariablen für Container definiert werden?

    • Nur auf Containerebene.
    • Auf Container- und auf Podebene.
    • Nur auf Pod-Ebene.
    • Auch auf Kubernetes-Ebene.
  6. Kann bei Kubernetes in Umgebungsvariablen auf Werte in anderen Umgebungsvariablen verwiesen werden? Wenn ja, warum ist das sinnvoll (Beispiel)? Wenn nein, warum ist das nicht möglich (Begründung)?

  7. Erläutern Sie an einem Beispiel die Nachteile hardkodierter Umgebungsvariablen. Wie lassen sich bei Kubernetes diese Nachteile vermeiden?

  8. Beschreiben Sie knapp, aber präzise, was man bei Kubernetes unter einem ConfigMap-Objekt versteht. Was sind typische Anwendungsfälle für ConfigMap-Objekte?

  9. Erläutern Sie anhand eines typischen Beispiels den Einsatz von ConfigMap-Objekten. Verdeutlichen Sie Ihre Ausführungen anhand einer Abbildung.

  10. Muss eine Applikation in einem Pod von der Existenz eines ConfigMap-Objekts wissen. Erläutern bzw. begründen Sie Ihre Antwort.

  11. Welche Möglichkeiten der Konfigurationszuordnung stellt Kubernetes bereit? Erläutern Sie diese kurz. (Hinweis: Strukturieren Sie Ihre Antwort in: Möglichkeit 1:, Möglichkeit 2:, ...)

  12. Einer Konfigurationszuordnung in Kubernetes kann auch ein Verweis auf einen Konfigurationsfile übergeben werden. Enthält die Zuordnung nur den Verweis auf den Konfigurationsfile oder auch dessen Inhalt?

  13. Wie wird bei Kubenetes im Zusammenhang mit Konfigurationszuordnungen (ConfigMap-Objekten) der Zuordnungsschlüssel definiert. Erläutern Sie - klar strukturiert - verschiedene Möglichkeiten und Szenarien.

  14. Können bei der Erstellung von Konfigurationszuordnungen verschiedene Quellen in eine Konfigurationszuordnung kombiniert werden?

  15. Können Pods durch Änderungen in der Konfigurationszuordnung (löschen+neuerstellen) dynamisch konfiguriert werden?

  16. Warum werden bei Containeranwendungen so gerne Umgebungsvariablen verwendet?

  17. Welche Möglicheiten gibt es, um eine Konfigurationzuordnung zu erstellen?

  18. Was benötigt ein Container in einem Pod, damit er bei Bedarf mit dem Kubernetes-API-Server kommunizieren kann?

  19. Beschreiben Sie die Bestandteile des Secrets default-token. Für was genau werden die einzelnen Bestanteile benötigt?

 

Fragen zu Kapitel 8, Von Anwendungen aus auf Podmetadaten und andere Ressourcen zugreifen.

  1. Was versteht man bei Kubernetes unter einer Downward-API und was unter einem Downward-API-Volume? Erklären Sie beide Begriffe.

  2. Welche Funktion hat bei einem Pod das Dienstkonto? Wann wird dieses benutzt?

  3. Warum können Labels und Anmerkungen nicht über Umgebungsvariablen verfügbar gemacht werden?

  4. Wann sollte man eine Downward-API verwenden? Was sind typische Anwendungsfelder? Was sind die Begrenzungen der Downward-API? Welche Möglichkeiten bieten sich an, wenn die Downward-API nicht mehr ausreichend ist.

  5. Welche Funktionen stellt Ihnen die REST-API von Kubernetes zur Verfügung. Was können Sie mit dieser API machen?

  6. Welche drei Aufgaben müssen Sie erfüllen, wenn Sie von einem Pod aus mit dem Kubernetes API-Server kommunizieren möchten?

 

Fragen zu Kapitel 9, Deployments: Anwendungen deklarativ aktualisieren.

  1. Stellen Sie mit Hilfe in einer Abbildung den grundlegenden Aufbau einer Kubernetes-Anwendung vor. Gehen Sie kurz auf die Funktion der wesentlichen Komponenten ein.
  2. Stellen Sie zwei prinzipielle Methoden vor, wie sich die Pods einer Anwendung aktualisieren lassen. Gehen Sie anschließend kurz auf die Vor- und Nachteile der jeweiligen Methode ein.
  3. Beschreiben Sie eine konkrete Vorgehensweise, wie Sie ohne Ausfallzeiten die Pods einer Anwendung aktualisieren können. Bewerten Sie die von Ihnen dargestellte Methode für den Einsatz in der Praxis.
  4. Was versteht man unter einem "blue-green deployment"?
  5. Warum ist es problematisch Images ohne Änderung des Tags zu aktualisieren? Diskutieren Sie diese Fragestellung unter besonderer Berücksichtigung des Tags latest. Welche Rolle spielt hierbei die Container-Eigenschaft imagePullPolicy? Was genau bewirkt die Eigenschaft imagePullPolicy und wie ist imagePullPolicy in der Praxis zu verwenden?
  6. Erläutern Sie an einem Beispiel im Detail, wie sich mit dem Befehl kubectl rolling-update ... ein Replikationskontroller aktualisieren lässt.
  7. Warum ist der Befehl kubectl rolling-update ... zur Aktualisierung veraltet? Stellen Sie strukturiert die Probleme in Zusammenhang mit dieser Aktualisierungmethode dar.
  8. Warum benötigt man überhaupt Deployments? Was ist die Aufgabe eines Deployments? Erläutern Sie an Hand einer Abbildung die Beziehung zwischen Deployment, Replaikationssatz und Pod.
  9. Welche drei wesentlichen Änderungen muss man am Manifest eines Replikationssatzes vornehmen, damit daraus das Manifest eines Deployments wird?
  10. Stellen Sie - übersichtlich gelistet - verschiedene Möglichkeiten (mindestens 4) zur Bearbeitung von Deployments vor.
  11. Löste eine Änderung der Anwendungskonfiguration bei Kubernetes automatisch eine Aktualisierung der Anwendung aus?
  12. Welche Aussagen sind für Kubernetes bezüglich eines Rollout richtig? Kreuzen Sie die richtigen Antworten an. Falsche Ankreuzungen ergeben Minuspunkte.
    • Ein Rollout kann bei Kubernetes grundsätzlich nicht rückgängig gemacht werden.
    • Ein Rollout kann bei Kubernetes, solange es noch nicht abgeschlossen ist, rückgängig gemacht werden.
    • Ein Rollout kann bei Kubernetes, auch nach Abschluß, rückgängig gemacht werden, allerdings ist nur ein Rücksetzen auf die letzte Version möglich.
    • Ein Rollout kann bei Kubernetes, auch nach Abschluß, rückgängig gemacht werden. Es kann auch zu einer bestimmten vorhergehenden Version zurückgesetzt werden.
    • Ein Rollout kann bei Kubernetes während des Ablaufs angehalten werden.
  13. Erklären Sie im Zusammenhang mit Rollout die beiden Eigenschaften maxSurge und maxUnavailable. Veranschaulichen Sie mit einem prägnanten Beispiel, wie mit diesen beiden Eigenschaften bei Kubernetes der Aktualisierungsprozess eines Deployments gesteuert wird.
  14. Was versteht man unter einem "Canary-Release"?
  15. Erläutern Sie, wie bei Kubernetes durch das Zusammenspiel von Bereitschaftsonden (Readiness Probes) und der Eigenschaft minReadySeconds Fehler beim Rollout-Prozess minimiert werden.

 

Student Fragen
Brück, Meik Kap. 6, Fragen 1/2/3/4/5
Esch, Malte Kap. 6, Fragen 6/7/8/9
Maus, Moritz Kap. 6, Fragen 10/11/12/13/14/15
Möller-Börkel, Simon Kap. 6, Fragen 16/17/18/19/20/21
Müller, Marcus Kap. 7, Fragen 1/2/3/4
Roobi, Marco Kap. 7, Fragen 5/6/7/8/9/10
Afreen, Laila Kap. 7, Fragen 11/12/13/14/15
Akter, Mahmuda Kap. 7, Fragen 16/17/18/19/20
Raza, Ihtesham Kap 8, Fragen 1/2/3/4/5/6
Dadhich, Chhavi Kap 9, Fragen 1/2/3/4
Padyab, Emad Kap 9, Fragen 5/6/7
Ramesh, Poornima Kap 9, Fragen 8/9/10/11
Schauer, Lukas Kap 9, Fragen 12/13/14/15
 

 

Impressum | Datenschutz | leischner.inf.h-brs.de, last modification: 01.12.2021-11.26