Servicemanagement in Netzen - Leischner

Praktikumsblatt 8 - Pods

 

Aufgabe 1 - Podmanifest

  1. Erstellen Sie für Ihren miniwhoami Container aus Praktikumsblatt 4 (Aufgabe 1) ein grundlegendes Podmanifest miniwhoami-manual.yaml, das einen Pod miniwhoami-manual beschreibt.
  2. Starten Sie Ihren Pod miniwhoami-manual. Mit welchem Kommando haben Sie Ihren Pod gestartet? Mit welchem Kommando können Sie das Log-Protokolle des gestarteten Pods miniwhoami-manual abrufen?
  3. Geben Sie den YAML-Deskriptor Ihres Pods aus. Was ist die qosClass Ihres Pods? Welches Kommando haben Sie hierfür benutzt?
    Was ist der Unterschied zum Kommando kubectl describe ... .
  4. Können Sie mit curl localhost:8080 (oder anderen Port) auf Ihren Pod zugreifen? Wenn nein, warum nicht?
  5. Geben Sie eine Methode an, wie Sie auf Ihren Pod zugreifen können und probieren Sie diese aus. Welche Kommandos haben Sie hierzu verwendet?

 

Aufgabe 2 - Labels

  1. Erstellen Sie einen Pod miniwhoami-manual-pod2 mit den Labels hochschule: hbrs und sem: ws21 und starten Sie ihn.
  2. Lassen Sie sich alle laufenden Pods mit den Labels anzeigen.
  3. Erstellen Sie einen Pod miniwhoami-manual-pod3 mit den Labels hochschule: th-koeln und sem: ss19 und starten Sie ihn.
  4. Lassen Sie sich alle laufenden Pods mit den Labels anzeigen.
  5. Ändern Sie von Pod miniwhoami-manual-p3 den Wert des Label sem in ws21.
  6. Lassen Sie sich wieder die Pods mit den Labels anzeigen.

 

Aufgabe 3 - Namespaces

  1. Erzeugen Sie einen Namespace, für den Sie als Namen Ihren HBRS-Username xxxxxx2s nehmen.
  2. Welche Namespaces existieren in Ihrem Minikube? Wie finden Sie diese heraus?
  3. Wie finden Sie Ihren aktuellen Namespace heraus?
  4. Lassen Sie den Pod miniwhoami-manual im neu erzeugten Namespace xxxxxx2s laufen.
  5. Überprüfen Sie, ob der Pod im neuen Namespace xxxxxx2s läuft? Mit welchem Kommando machen Sie das?
  6. Räumen Sie Ihr System wieder vollständig auf. Mit welchem Kommando geht das ganz einfach?

 

Aufgabe 4 - HTTP-Aktivitätssonde

  1. Ändern Sie Ihr Programm miniwhoami in ein Programm miniwhoami-crash, welches nach dem fünften Programmaufruf abstürzt und eine entsprechende Fehlermeldung zurückgibt.
  2. Testen Sie Ihr Programm zunächst lokal und pushen Sie dann ein entsprechendes Docker Image auf Ihre Registry. (Falls Ihnen das nicht gelingen sollte, können Sie in den nachfolgenden Aufgaben auch das von mir bereitgestellte Image jennerwein/miniwhoami-crash verwenden. Dieses Image nutztPort 8080.)
  3. Schreiben Sie ein Pod-Manifest miniwhoami-liveness-probe.yaml, das mit einer HTTP-Aktivitätssonde einen fehlerhaften Container miniwhoami überwacht. Dieser jetzt fehlerhafte Container miniwhoami wurde aus dem Image miniwhoami-crash aus Ihrer Registry (bzw. aus meinem Image jennerwein/miniwhoami-crash) erzeugt.
  4. Starten Sie den eben definierten fehlerhaften Pod miniwhoami. Welches Kommando verwenden Sie hierzu? Überprüfen Sie, ob und wie lange der Pod läuft. Nach wieviel Sekunden gibt es das erste Problem? Wie können Sie feststellen, dass der Pod abgestürzt ist?
  5. Kommentieren Sie - nur für diese Teilaufgabe - im Pod-Manifest miniwhoami-liveness-probe.yaml die HTTP-Aktivitätssonde aus und starten Sie wieder den Pod. Testen Sie das Verhalten des Pods. Welches Verhalten beobachten Sie nun und wie interpretieren Sie das Verhalten?
    Aktivieren Sie nun wieder die Aktivitätssonde!
  6. Wie können Sie die Abläufe bei der Überwachung am besten beobachten? Welches Kommando benutzen Sie hierfür?

 

Aufgabe 5 - Replikationscontroller

  1. Schreiben Sie ein Pod-Manifest miniwhoami-rc.yaml für einen Replikationscontroller, der 3 miniwhoami Pods erzeugt.
  2. Löschen Sie einen Pod. Mit welchem Kommando machen Sie das? Was passiert?
  3. Geben Sie die Beschreibung des Replikationscontroller aus und interpretieren Sie diese.
  4. Editieren Sie Ihr Pod-Manifest, indem Sie im Template ein zusätzliches Label app2: neu anbringen. Mit welchem Befehl können Sie die Änderung im laufenden Betrieb ausführen?
  5. Löschen Sie einen Pod. Was passiert? Lassen Sie sich die Tags der Pods anzeigen. Was ist das Ergebnis ?
  6. Editieren Sie Ihr Pod-Manifest, indem Sie beim Replikationscontroller den bisherigen Selektor app: miniwhoami durch den Selektor app2: neu ersetzen. Beobachten und beschreiben Sie die Vorgänge hierbei.

 

Aufgabe 6 - Replikationssatz

  1. Räumen Sie Ihr System wieder vollständig auf. Starten Sie danach mit dem Replikationscontroller-Pod-Manifest miniwhoami-rc.yaml aus der vorgehenden Aufgabe 5 drei miniwhoami Pods.
  2. Löschen Sie den eben erzeugten Replikationscontroller, ohne dass die von ihm verwalteten Pods ebenfalls gelöscht werden. Welches Kommando benutzen Sie hierfür? Überprüfen Sie die entstandene Situation, d.h. überprüfen Sie, ob der Replikationscontroller gelöscht ist und die Pods noch laufen.
  3. Schreiben Sie ein Pod-Manifest miniwhoami-rs.yaml für einen Replikationssatz, der fünf(!) miniwhoami Pods mit dem Tag app: miniwhoami  erzeugt.
  4. Überprüfen Sie die aktuelle laufenden Pods, erzeugen Sie dann mit miniwhoami-rs.yaml den Replikationssatz und überprüfen Sie die laufenden Pods.
  5. Interpretieren Sie Ihre Beobachtungen.
  6. Starten Sie - zum experimentellen Abschluss - nochmals den alten Replikationscontroller miniwhoami-rc.yaml aus der vorgehenden Aufgabe 3 miniwhoami Pods. Was passiert? Wie interpretieren Sie Ihre Beobachtungen?

 

Aufgabe 7 - Reading

Bearbeiten Sie bis 30.11.21 folgende Aufgaben (Prüfungsvorleistung/ULP):

  • Lesen Sie Kapitel 6, 7, 8 und 9 aus dem angebenen Buch Lukša Marko: Kubernetes in Action, Hanser, 2018. (Buch online erhältlich über Hochschulbibliothek.)
  • Beschäftigen Sie sich mit den Fragen aus dem Fragenkatalog 2 - Kubernetes .
  • Beantworten Sie präzise und präsentationsfähige die Ihnen zugeteilten Fragen. (Prüfungsvorleistung/ULP).
  • Laden Sie Ihre "Answers & Questions" auf LEA hoch.

 

 

Impressum | Datenschutz | leischner.inf.h-brs.de, last modification: 29.11.2021-20.31