Pod reloader für secret changer

12 Apr 2022 Lesezeit: ~1 Minute

Wer seinen Arbeitsalltag in einer Flut von Abhängigkeiten verbringt die aus fremden Hängen fließen, dann kommt es schon mal vor, dass man auf eine Änderung reagieren und etwas neustarten muss.

Wenn ihr wisst, wovon ich rede, dann arbeitet ihr vermutlich auch mit Kubernetes und habt die Aufgabe Pods über ein geändertes secret zu informieren.

Da ich auf solche Aufgaben keine Lust habe, suche ich mir eine weitere Abhängigkeit die das für mich übernimmt - ich bin ja modern.

In meinem Fall geht es darum, dass ich in einem KeyVault ein Secret ändern will und das daraus gemountete Kubernetes Secret aktualisiert wird und eben die Pods, die dieses Secret nutzen bitte automatisch neu starten - klar, oder?

Hier kommt der reloader zum Einsatz:

Einfach installiert mit Hilfe von

kubectl apply -f https://raw.githubusercontent.com/stakater/Reloader/master/deployments/kubernetes/reloader.yaml

kann ich dann ein Deployment einfach mit einer weiteren Annotation ausstatten und der Drops ist gelutscht: Das damit verbundene Deployment wird dann gemäß der Konfiguration mit einem roleout restart angepasst.


Find and delete stale mounts

15 Jun 2021 Lesezeit: ~1 Minute

Auch 2021 bilden wir uns unseren tatsächlichen fortschritt eher ein und genießen wir mega starke Technologie, Cloud und so gedöhns - und kämpfen mit kaputten mountpoints.

Zugegeben - es ist nicht mehr so schlimm wie es mal war. Aber Kubernetes und NFS Provisioner machen es halt auch nicht besser.

Wenn man nun also einen Server mit einem ganzen Schwung von gemounteten Laufwerken hat, der dann auch noch kaputt ist, dann kann man den entweder neustarten, oder den folgenden Oneliner benutzen:

for l in `mount -l -t nfs | cut -d ' ' -f 3`; do umount -lf $l; done

Bitte, gern!

Quellen und Links:


Kubernetes Delete orphaed pods

2 Jun 2021 Lesezeit: ~1 Minute

Jeder der mit Kubernetes arbeitet ist sich wohl darüber bewusst, dass der Umgang damit eine Beschäftigungsmaßnahme ist. Während der Programmierer vielleicht Spaß daran hat Textschnipsel aneinander zu reihen, will der Admin einfach nur seine Ruhe, weil er weiss, dass Gute Technik und Lösungen dies grundsätzlich möglich machen.

Wenn man nun aber vor einem Scherbenhaufen steht, einen ganzen A**** voll kaputter Pods etc vor sich sieht, dann hilft manchmal nur beherztes Aufräumen. In meinem Fall sind es zum Beispiel completed tasks oder terminated pods... alle müssen weg.

Ein einfach weg dazu ist - wie fast immer - ein kleines shell-Schmipselchen:

kubectl get pods --all-namespaces --insecure-skip-tls-verify | grep -i Terminating | awk '{ print "kubectl delete pod --insecure-skip-tls-verify " $2 " -n " $1 " --force --grace-period=0"}' | sh

Natürlich dann "Terminating" gegen alles ausgtauscht werden, was man grade abräumen will