Der Fragenkatalog bezieht sich auf Lukša Marko: Kubernetes in Action, Hanser, 2018.
Was versteht man unter einem Kubernetes-Volume? Welche Aufgabe erfüllt ein Kubernetes-Volume?
Ist ein Kubernetes-Volume einem Pod oder einem Container zugeodrnet? Erläutern Sie diese Fragestellung.
Was ist die Lebensdauer eines Kubernetes-Volumes? Wie verhält es sich mit der Lebensdauer der Daten in einem Kubernetes-Volume?
Nennen Sie mindestens drei verschiedene Typen von Kubernetes-Volumes und erläutern Sie diese kurz. (Punkteabzug bei Falschnennung.)
Was sind die typischen Verwendungszwecke für ein
Kubernetes-Volume vom Typ emptyDir
?
Können bei Kubernetes Git-Repositories als Ausgangspunkt für ein Volume verwendet werden?
Beschreiben Sie an einem Beispiel die Beziehung
zwischen einem gitRepo
Volume und dem
zugehörigen Git-Repository.
Wie lässt sich ein gitRepo
Volume mit
dem zugehörigen Git-Repository synchron halten?
Was versteht man unterm einem Side-Container? Geben Sie ein gutes Beispiel für den Einsatz eines Side-Containers an.
Für welche Anwendungen sind hostPath
-Volumes
geeignet? Geben Sie ein Beispiel.
Welche speziellen Eigenschaften haben hostPath
-Volumes?
Welche spezielle Einschänkung haben hostPath
-Volumes?
Welche der folgenden Volumetypen ist für die persiste Datenspeicherung geeignet:
emptyDir
-Volumes?gitRepo
-Volumes?hostPath
-Volumes?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.
Was versteht man bei Kubernetes unter einem PersistentVolume
? Was versteht man bei Kubernetes
unter einem PersistentVolumeClaim
?
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.
Was sind die Vorteile bei der Verwendung von persistent Volumes und Claims?
Was wird mit dem Parameter VolumeReclaimPolicy
gesteuert. Erläutern Sie dies an einem Beispiel.
Welche Idee verbirgt sich hinter der dynamischen Bereitstellung von persistenten Volumes? Welche Vorteile ergeben sich hierdurch?
Wie wird die dynamischen Bereitstellung von persistenten Volumes realisiert? Was ist hierfür praktisch notwendig?
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.
In einem Docker-File sind die Anweisungen ENTRYPOINT
und
CMD
möglich.
Erläutern Sie die Bedeutung und den korrekten Gebrauch
dieser beiden Anweisungen.
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.
Welche der folgenden Anweisungen eines Docker-Files können durch Kubernetes überschrieben werden?
ENTRYPOINT
CMD
Auf welcher Ebene können in Kubernetes Umgebungsvariablen für Container definiert werden?
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)?
Erläutern Sie an einem Beispiel die Nachteile hardkodierter Umgebungsvariablen. Wie lassen sich bei Kubernetes diese Nachteile vermeiden?
Beschreiben Sie knapp, aber präzise, was man bei
Kubernetes unter einem ConfigMap
-Objekt
versteht. Was sind typische Anwendungsfälle für ConfigMap
-Objekte?
Erläutern Sie anhand eines typischen Beispiels den
Einsatz von ConfigMap
-Objekten. Verdeutlichen Sie Ihre
Ausführungen anhand einer Abbildung.
Muss eine Applikation in einem Pod von der Existenz
eines ConfigMap
-Objekts wissen. Erläutern
bzw. begründen Sie Ihre Antwort.
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:, ...)
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?
Wie wird bei Kubenetes im Zusammenhang mit
Konfigurationszuordnungen (ConfigMap
-Objekten)
der Zuordnungsschlüssel definiert. Erläutern Sie - klar
strukturiert - verschiedene Möglichkeiten und Szenarien.
Können bei der Erstellung von Konfigurationszuordnungen verschiedene Quellen in eine Konfigurationszuordnung kombiniert werden?
Können Pods durch Änderungen in der Konfigurationszuordnung (löschen+neuerstellen) dynamisch konfiguriert werden?
Warum werden bei Containeranwendungen so gerne Umgebungsvariablen verwendet?
Welche Möglicheiten gibt es, um eine Konfigurationzuordnung zu erstellen?
Was benötigt ein Container in einem Pod, damit er bei Bedarf mit dem Kubernetes-API-Server kommunizieren kann?
Beschreiben Sie die Bestandteile des Secrets default-token
. Für was genau werden die einzelnen
Bestanteile benötigt?
Was versteht man bei Kubernetes unter einer Downward-API und was unter einem Downward-API-Volume? Erklären Sie beide Begriffe.
Welche Funktion hat bei einem Pod das Dienstkonto? Wann wird dieses benutzt?
Warum können Labels und Anmerkungen nicht über Umgebungsvariablen verfügbar gemacht werden?
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.
Welche Funktionen stellt Ihnen die REST-API von Kubernetes zur Verfügung. Was können Sie mit dieser API machen?
Welche drei Aufgaben müssen Sie erfüllen, wenn Sie von einem Pod aus mit dem Kubernetes API-Server kommunizieren möchten?
latest
. Welche Rolle spielt hierbei die
Container-Eigenschaft imagePullPolicy
? Was
genau bewirkt die Eigenschaft imagePullPolicy
und wie ist imagePullPolicy
in der Praxis
zu verwenden?kubectl rolling-update ...
ein Replikationskontroller
aktualisieren lässt.kubectl rolling-update
...
zur Aktualisierung veraltet? Stellen Sie
strukturiert die Probleme in Zusammenhang mit dieser
Aktualisierungmethode dar.maxSurge
und maxUnavailable
. Veranschaulichen Sie mit einem
prägnanten Beispiel, wie mit diesen beiden Eigenschaften
bei Kubernetes der Aktualisierungsprozess eines
Deployments gesteuert wird. minReadySeconds
Fehler
beim Rollout-Prozess minimiert werden.