Erfahrungsbericht MacBook / MacOS

Ich hatte nunmehr für ca. ein halbes Jahr die Option mich arbeitsseitig einmal mit dem Thema MacBook und MacOS beschäftigen zu dürfen. Dieser Erfahrungsbericht ist somit sicherlich nicht zu 100% aussagekräftig und kann Spuren von Ironie und Frustration enthalten.

Zum Hintergrund: ich arbeite als Software-Entwickler und DevOp und bin seit Jahren bereits die meiste Zeit nativ unter Linux unterwegs und ursprünglich einmal mit DOS und Windows in verschiedenen Stufen „groß geworden“, für mich war es der erste Vollkontakt mit der Apple-Welt, auch beim Smartphone hat es mich bisher nicht wirklich gereizt einmal ein IPhone auszuprobieren. Continue reading

Kurzurlaub Nürnberg 2024

Auch in diesem Jahr liegt der Tag der deutschen Einheit günstig, auf einem Donnerstag. Da die Schule auch kooperativ ist und einen beweglichen Ferientag für den Brückentag verwendet hat, besteht die Chance für die Familie, an den Stadtlauf in Nürnberg auch noch etwas Urlaub anzuhängen. Das macht die Sache rund um den Lauf auch deutlich entspannter, als eine Hit-and-Run-Aktion, die ich dieses Jahr ja schon fast ins Extreme getrieben habe, als ich für den UTA nach Kambodscha geflogen bin.

Rund um den 3. Oktober haben sich bei uns mittlerweile aber auch einige „feste Aufgaben“ für den Urlaub angefunden. Schon seit geraumer Zeit nutzen wir die Chance, dass mit dem Oktober auch in Nürnberg die Vorweihnachtszeit beginnt und somit der Verkauf von Lebkuchen startet. Aus meinem Praxis-Semester heraus bin ich immer noch ein treuer Kunde bei Pfann bzw. mittlerweile Witte. Der Werksverkauf liegt etwas außerhalb am Steinacher Kreuz, früher lag er in der Kriegsopfersiedlung in der Nähe von Schniegling – im Praxis-Semster sehr praktisch, für mal eben dort vorbei zu gehen während eines Stadtbesuchs schon damals eher etwas mehr Aufwand. Immerhin ist es dieses Jahr kühl genug, dass wir ohne Sorge die Lebkuchen im Auto verstauen können. Letztes Jahr war es so warm, dass wir Sorge hatten, dass die Schoko-Glasur wieder flüssig wird. Da wir natürlich umweltfreundlich unterwegs sind, machen wir die Tour mit dem ÖPNV, so bekommen wir auch einmal wieder „neue“ Eindrücke. Voll bepackt geht es dann an den Rückweg, diesmal über Fürth, dort ist auch noch die Michaelis Kirchweih, die wir auch noch besuchen wollen. Aber mit einer Kiste Lebkuchen ist das eher schwierig durch die Massen zu kommen.

Continue reading

Stadtlauf Nürnberg 2024

Schon wieder Oktober … allerhöchste Zeit meiner Lauftradition nachzugeben, denn nunmehr seit 2007 bin ich (abgesehen von zwei nicht durchgeführten Ausgaben während der Corona-Pandemie) immer zum Tag der deutschen Einheit in Nürnberg beim Stadtlauf über die Halbmarathondistanz am Start. Mittlerweile haben wir ja auch mit der Familie eine gewisse Routine bei diesem Lauf, abgesehen von immer einmal wechselnden Unterkünften. Diesmal hat es uns in den Nordosten verschlagen, diesmal eine Ferienwohnung da wir auch das verlängerte Wochenende in der Region verbringen wollen.

Seit dem letzten Jahr hat sich einiges am Lauf geändert, vor allem der Start hat eine neue Heimat auf dem Hauptmarkt gefunden, nachdem er viele Jahre am Opernhaus war. Zudem sind die Startzeiten aus dem Nachmittag in den Vormittag gewandert, was eine Anreise direkt am Lauftag auf alle Fälle sportlich machen würde. Eine Aktion wie der letzte Stadtlauf vor dem Papawerden würde mittlerweile sehr frühe Uhrzeiten nach sich ziehen. Noch dazu ist Yann mit dem Bambinilauf gleich morgens um 9:30 an der Reihe und die Startunterlagen müssen wir auch noch besorgen. Daher sind wir schon um kurz nach 7h wach und bereiten alles vor. Die Wetteraussichten sind nicht schlecht aber auch nicht wirklich berauschend, es ist verdammt frisch als wir am Hauptmarkt ankommen. Dort hat sich schon alles recht gut eingespielt und es dauert nicht lange bis wir alle mit Startunterlagen versorgt sind. Continue reading

Vom Wein zum Rhein – ein Geburtagslauf zum 60.

Ultraläufer sind ein komisches Völkchen, da wundert es nicht, dass sich Brigitta zu ihrem 60. Geburtstag als Feier einen besonderen Lauf ausgedacht hat. Sogar inklusive Ausschreibung und allem was dazu gehört. Ich hatte definitiv überlegt, neben meinem „Traditionslauf in Nürnberg“ im Herbst noch einen vollwertigen Lauf zu machen. Dafür wäre auch Karlsruhe in Frage gekommen, aber die Ausschreibung unter dem Motto „vom Wein zum Rhein“ war einfach zu verlockend. Zumal es nicht nur einen Stadt-Marathon geben sollte, sondern einen Landschaftslauf mit Trail-Anteil und einigen Höhenmetern. Insgesamt die deutlich kleinere Veranstaltung und derartige Initiativen unterstütze ich natürlich gerne. Immerhin organisiere ich ja auch seit einigen Jahren im Frühjahr ein ähnliches Format mit der Rheintalquerung.

Los geht es für mich am Wettkampftag in aller Herrgottsfrühe, es fühlt sich fast so an wie am Rennsteig oder auch beim Angkor-Trail, nur dass ich diesmal von daheim aus starten kann. Ein erstes Warm-Up sind die 1,5km bis an den Bahnhof in Schwetzingen, denn die Anreise erfolgt diesmal direkt per Bahn. Der Start ist in der Nähe des Bahnhofs Neustadt, mit einmal Umsteigen in Mannheim, also wunderbar zu erreichen. Die Vertaktung in den frühen Morgenstunden klappt hervorragend, auch wenn ich rund 30 Minuten Aufenthalt in Mannheim habe. In Ludwigshafen steigt auch Norbert zu und so bin ich schon mal nicht mehr alleine, bis in Schifferstadt dann auch die anderen Teilnehmer inklusive Geburtstagskind zusteigen. Continue reading

Monitoring von Containern mit Prometheus und cAdvisor – mit Vorsicht zu geniesen

Monitoring ist ein wichtiges Instrument als DevOp, in der Regel bekommt man so schon mit, dass ein Service nicht ganz rund läuft, bevor es Probleme für den Kunden bedeutet. Genauso kündigen sich ausfallende oder knapper werdende Ressourcen in der Regel an und treten nicht „urplötzlich“ auf.

Eines der Standard-Werkzeuge für diesen Fall ist Prometheus, das ein recht ausgefeiltes Monitoring bietet. Häufig wird es im Einsatz mit Containern durch cAdvisor ergänzt, damit erhält man auch einen Einblick in die einzelnen Docker-Container, welche auf dem System laufen. Für das Host-System gibt es von Prometheus den node-exporter.

Was man aber auch immer auf dem Schirm haben sollte: Im Wesentlichen sind die Agenten (bzw. Exporter) einfache Transformationsmaschinen, welche aus der Vielzahl von Informationen, die ein jedes System bereit stellt, ein standardisiertes Format machen und es ausgeben. Im konkreten Fall erfolgt die Ausgabe per http bzw. hoffentlich per https. Womit wir auch schon beim Knackpunkt der Geschichte wären: Man kommt sich an dieser Stelle wieder ins „gute alte Internet“ zurück versetzt vor, in dem Sicherheit kein große Rolle gespielt hat und alles mehr oder weniger „frei“ zugänglich war. Das zeigt sich leider bereits in den Tutorials: dort wird erst einmal beschrieben, wie man einen Service generell aufsetzt, aber es fehlt der eindeutige Hinweis, wie man die Dinge hinterher auch so vernagelt, dass nur berechtigte Personen das mitlesen können bzw. überhaupt an die Informationen heran kommen können. Man möchte doch nicht gerade exponieren, was auf einem Server alles an Containern läuft, das sollte eigentlich mittlerweile jeder Hobby-Admin auf dem Schirm haben, im professionellen Bereich ist es auch eine Selbstverständlichkeit.

Schaut man sich die Dokumentation insbesondere der Exporter an, so bekomme zumindest ich schon wieder ein schlechtes Gefühl: Vielfach wird darauf verwiesen, das Abschirmen der Container per Reverse-Proxy zu lösen. Das ist sicherlich ein technisch gangbarer Weg, aber es zeigt auch wieder ein wenig die Einstellung der Macher dieser Software: „Not my business“ bzw. „not implemented here“. Es gibt in beiden Fällen zwar Möglichkeiten, TLS und auch zumindest Basic-Auth zu implementieren, aber das ist eher ein Tropfen auf den heißen Stein. Den Vogel (passenderweise ist das Maskottchen eine Eule) schießt cAdvisor ab: Man kann zwar Basic-Auth setzen, aber es bezieht sich nur auf die Endpunkte der GUI, die API und die maschinenlesbaren Metriken sind weiterhin ohne jeglichen Passwort-Schutz abrufbar, so lange man die URL kennt (oder durchprobiert). Hierzu gibt es einen interessanten Artikel von TrendMicro.

Die Lösung, die wieder häufig propagiert wird, ist: Lass uns eine Sicherheitssoftware davor schalten, in diesem Fall einen Reverse-Proxy, der kann dann auch die Authentifizierung und das TLS übernehmen. Das klingt im ersten Moment ja noch recht brauchbar, aber es bringt eine weitere Komponente ins Spiel, die man warten muss. Bei vielen Installationen, die sich einen Docker-Host teilen, ist ein Loadbalancer / Reverse-Proxy aber ohnehin installiert. Häufig wird in diesem Zusammenhang Traefik eingesetzt, das hat den Vorteil, dass es sich eigentständig über kommende und gehende Webservices / Container informiert und die Konfiguration dazu aus den Labels des Docker-Containers ableitet. So hat man immerhin den Teil der Reverse-Proxy-Konfiguration für den eigenen Service noch ein Stück weit im Griff.

Ein Compose file sieht dann beispielsweise wie folgt aus:

name: cadvisor
services:
  cadvisor:
    image: gcr.io/google-containers/cadvisor:latest
    container_name: cadvisor
    labels:
      - traefik.enable=true
      - traefik.docker.network=traefik
      - traefik.http.routers.cadvisor.entrypoints=web
      - traefik.http.routers.cadvisor.rule=Host(`cadvisor.example.org`)
      - traefik.http.services.cadvisor.loadbalancer.server.port=8080
      - "traefik.http.middlewares.cadvisor.basicauth.users=USER:PASSWORD"
      - traefik.http.routers.cadvisor.middlewares=cadvisor
    volumes:
      - /:/rootfs:ro
      - /var/run:/var/run:rw
      - /sys:/sys:ro
      - /var/lib/docker/:/var/lib/docker:ro
    restart: always
    environment:
      - no_proxy="localhost,127.0.0.1"
      - HTTP_PROXY=
      - http_proxy=
    networks:
      - cadvisor
      - traefik
networks:
  cadvisor:
    name: cadvisor
  traefik:
    external: true

Dabei gibt es einige kleine Fallstricke, die man beachten muss:

Das Passwort muss als Hash eingetragen werden, damit es im YAML nicht zerbröselt wird beim Interpretieren, muss man die „$“ verdoppeln (Escaping). Sonst fühlt sich der YAML-Interpreter angesprochen und versucht die Variablen zu substituieren, was nicht funktioniert und im Zweifel auch erst einmal nicht ganz „eindeutige“ Fehlermeldungen nach sich zieht.

Sofern man einen Proxy einsetzt und diesen für den Dockerhost entsprechend konfiguriert hat, so muss man mit dem cAdvisor aufpassen, dieser hat einen Health-Check per „wget“ implementiert. Allerdings ist es kein Standard-Wget sondern das aus Busybox. Das ignoriert leider die Umgebungsvariable „no_proxy“ ziemlich gekonnt, vorsichtshalber kann man sie setzen, aber man muss auch den Proxy deaktivieren, indem man die Variablen explizit auf einen leeren String setzt.

 Hat man diese beiden Fallstricke gemeistert, erkennt Traefik auch einen cAdvisor-Container richtig und man exponiert nicht mehr einfach mal so die ganzen Metriken nach draußen.

Ich erspare mir hier jetzt weitere Erläuterungen, wie es um Ende-zu-Ende Kommunikation und insbesondere bei gerouteten IPv6-Containern aussieht: Leider nicht wirklich gut, auch da muss man sich einen Reverse-Proxy davor bauen, den man eigentlich mit IPv6 nicht mehr nötig hätte.

Insgesamt täte es vielen Container-Entwicklungen mittlerweile echt gut, wenn Authentifizierung und TLS nicht immer als ein „Problem anderer Leute“ (Erklärung: https://hitchhikers.fandom.com/wiki/Somebody_Else%27s_Problem_Field) betrachten würden, sondern es endlich zum guten Standard wird, den man bei jeder Entwicklung zeitnah mitdenken sollte. Nahezu jedes brauchbare Framework bringt heute die passenden Tools dazu mit, man muss sich nur ein wenig damit beschäftigen.

 

 

Radurlaub 2024 – Tag 14 – von Hausen im Tal über Beuron, Baden-Baden und Rastatt nach Hause

Tageskilometer: 35km

Nachdem wir am Vortag nochmals einen prüfenden Blick auf unsere Planung, das Wetter und vor allem den Fahrplan geworfen haben, ist klar: Heute ist der letzte Urlaubstag auf dem Rad. Zusätzlich zu mehr als 60km bis Donaueschingen ist Regenwetter angekündigt und noch dazu ist die Bahnstrecke zwischen Baden-Baden und Rastatt wegen Bauarbeiten gesperrt. Der Schienen-Ersart-Verkehr nimmt aber keine Radler mit. Auch wird Armelle von Ihren Eltern abgeholt, sie haben ja noch einen weiteren Weg als wir zu bewältigen. Zum Abschluss gibt es nochmal ein großes gemeinsames Frühstück am Campingplatz „Wagenburg“ in Hausen im Tal.

Nachdem endlich alles auf den Rädern verstaut ist, geht es los. Erste Anlaufstelle ist der Bahnhof direkt in Hausen im Tal, dort stellen wir fest, dass wir ca. 2h warten müssten und da gerade ein Zug in die Gegenrichtung hält sehen wir auch: der Bahnsteig ist noch nicht barriere frei, der Einstieg in den Zug somit verdammt hoch. Da der Bahnhof wirklich nicht der Ort ist an dem wir uns lange aufhalten wollen, machen wir noch eine letzte Etappe bis Beuron durchs Tal. Das lohnt sich auf alle Fälle noch einmal, es gibt zwar wieder einige Steigungen zu bewältigen aber das Tal ist insgesamt recht malerisch und gut zu befahren. Continue reading

Radurlaub 2024 – Tag 13 – von Sigmaringen bis Hausen im Tal

Tageskilometer: 20km

Für heute steht eher eine kurze Etappe auf dem Programm, allerdings hat diese auch einiges Steigungen, wie wir dem Reiseführer entnommen haben. Die erste gibt es bereits wenige Kilometer nach dem Start ans ehemalige Kloster Inzigkofen. Das liegt malerisch auf einem Bergrücken, eine wahrlich schweißtreibende Angelegenheit. Zumal es ab dem Klosterhof immer noch leicht bergan geht. Dafür geht es anschließend auch gleich wieder sehr steil und in Serpentinen nach unten an die Donau. Mit dem Anhänger kann ich es leider nicht so laufen lassen, wie ich das gerne wollte. Immerhin sind die frisch eingebauten Bremsklötze jetzt auch wirklich zu etwas nütze.

Die Strecke führt uns nun durch den schwäbischen Grand Canyon, das Tal ist sehr eng aber auch sehr hübsch anzuschauen. Der Weg erklimmt daher teilweise die Flanken des Tals, was so auch im Reiseführer angekündigt war.

Continue reading

Radurlaub 2024 – Tag 12 – von Riedlingen bis Sigmaringen

Tageskilometer 32km

Nachdem es am Vortag Höhenmeter satt gab, geht es heut wieder ans Kilometermachen. Die Strecke ist diesmal wieder wunderbar flach. Riedlingen selbst lassen wir direkt nach dem Start hinter uns, ich hatte schon befürchtet, dass wir im Werksverkauf von Silit doch noch einen Schnellkochtopf zusätzlich einkaufen, ich wüsste aber ohenhin nicht, wo wir den noch unterbringen sollten, weder daheim im Schrank und schon gar nicht im Gepäck.

Unser erster Halt ist nach rund 9km, wir sind noch nicht einmal eine Stunde unterwegs. So flott kann man voran kommen, wenn es nicht ständig Steigungen gibt. Unser nächstes Ziel ist Mengen, dort stürmen wir den Edeka, um uns für den Tag und vor allem für das Mittagessen einzudecken. Am Ortsausgang von Mengen, in der Nähe des Freibads bietet sich eine Rastmöglichkeit, die wir nutzen. So wird das Gepäck gleich wieder ein wenig leichter.

Frisch gestärkt radeln wir weiter, die Strecke bleibt flach. Es wird fast schon langweilig. In Scheer fahren wir durch die Altstadt, als wir das unverkennbare Piepen eines Rauchmelders hören, im ersten Moment glaube ich noch, es wäre ein Fahrzeug mit Rückfahrwarner, aber es ist weit und breit kein Fahrzeug zu sehen. Als ehemaliger Helfer im Katastrophenschutz lasse ich derartige Dinge ungern auf sich beruhen und so gehe ich kurzerhand dem Geräusch nach. Der Alarm kommt aus einem ehemaligen Ladengeschäft, aber es ist alles verschlossen und kein Rauch oder Feuer zu sehen. Durch die Jalousien kann ich aber auch im Innenraum nichts erkennen. Also machen wir einmal das Spiel „in a small town where nothing really happens, we placed a button …“. Ich rufe kurzerhand die Feuerwehr, denn es könnte ja jemand im Innenraum liegen und irgendein Schwelbrand sein…

Continue reading

Radurlaub 2024 – Tag 11 – Rottenacker bis Riedlingen

Tageskilometer: 32km

Nachdem am Vortag die Strecke sehr angehm flach war, steht heute Kontrastprogramm an: direkt in Rottenacker geht es entlang der Straße nach oben. Es soll ein erster Vorgeschmack sein, auf das was da noch kommen wird.

Bis Munderkingen geht es dann wieder halbwegs von der Radwegführung. Munderkingen selbst liegt auf der Kuppe einer Donauschleife, es geht also unweigerlich wieder nach oben. Im Ort machen wir einen Stopp, um ein wenig Kultur in den Urlaub zu integrieren. Die Kirche ist hübsch anzuschauen, ebenso die drei Brunnen der Stadt. Vom Martinsbrunnen können wir die Kinder fast gar nicht loseisen.

Continue reading

Radurlaub 2024 – Tag 10 – von Ulm bis Rottenacker (Ehingen) entlang der Blau

Tageskilometer: 53km

Ab heute sind wir fünf Radler und wir haben eine vergleichsweise lange Etappe vor uns. Da wir Armelle auch ein Highlight der schwäbischen Alb zeigen wollen, wählen wir die Alternative entlang der Blau.

Wie fast jeden Tag, gibt es gleich auf den ersten Kilometern reichlich Höhenmeter, als wir die Bahnstrecke überwinden müssen. Immerhin wird danach die Strecke flacher. Auf einer gut ausgebauten Fahrradstraße geht es durch die Bebauung in Ulm. Unser erstes Ziel ist Blaustein, etwas lästig ist eine altmodische Auto-Kreuzung am Ortsausgang: ein typisches 60er-Jahre Konstrukt, bei dem Radfahrer und Fußgänger eher lästiges Beiwerk für den Verkehrsplaner waren. Dementsprechend geht es untendurch und um scharfe Kurven, immerhin keine Drängelgitter. Bis nach Blaustein wird die Strecke dann aber deutlich radfreundlicher und es geht immer in der Nähe der Blau entlang.

Continue reading