peter pfläginghttp://www.pflaeging.net/blog/2024-03-19T03:06:35+00:00Your source for ICT strategy, innovation, architecture adviceWie sorge ich dafür dass unter MacOS Ventura auch bei sudo Fingerprint / AppleWatch unlock geht?2023-08-04T17:30:50+00:002024-03-19T03:06:35+00:00Peter Pfläginghttp://www.pflaeging.net/blog/author/peter/http://www.pflaeging.net/blog/wie-sorge-ich-daf%C3%BCr-dass-unter-macos-ventura-auch-bei-sudo-fingerprint-applewatch-unlock-geht/<p>Ich habe schon immer das Problem, dass bei MacOS (Ventura 13.4) und auch bei den vorherigen Betriebssystemen das entsperren von privilegierten Funktionen zwar mit Fingerprint oder der Apple Watch funktionieren, aber ausgerechnet beim "sudo" Command nicht.</p>
<p></p>
<p>HIer jetzt die schnelle Lösung:</p>
<ul>
<li>Terminal oder iTerm2 öffnen</li>
<li>sudo vi /etc/pam.d/sudo</li>
<li>Dort als erste Zeile folgendes hinzufügen: </li>
</ul>
<pre style="padding-left: 60px;">auth sufficient pam_tid.so</pre>
<p>Das wars!</p>
<p>Erklärung:</p>
<p>PAM heißt Pluggable Authentication Modules und kommt aus der Linux Welt. Mit den Dateien unter /etc/pam.d/ konfiguriert man für die einzelnen Kommandos, welche Methoden sie in welcher Reihenfolge verwenden sollen. Und pam_tid steht für Pluggable Authentication Module for Touch ID ;-)</p>Signal oder Telegram als WhatsApp Alternative2021-01-09T14:50:55+00:002024-03-17T12:24:49+00:00Peter Pfläginghttp://www.pflaeging.net/blog/author/peter/http://www.pflaeging.net/blog/signal-oder-telegram-als-whatsapp-alternative/<h1>Signal oder Telegram als WhatsApp Alternative</h1>
<p>WhatsApp kommt immer mehr in Veruf. Die neueste Initiative ist, die benutzer dazu zu zwingen, die Daten von WhatsApp auch mit Facebook zu teilen. Das ist zwar in Europa durch die DSGVO momentan noch abgeblockt, aber wer weiß was denen noch so einfällt. </p>
<p>Es ist also höchste Zeit, sich etwas Besseres zu überlegen. Im beruflichen Umfeld verwenden wir heute meistens Telegram (<a href="https://www.telegram.org">https://www.telegram.org</a>) oder Signal (<a href="https://www.signal.org">https://www.signal.org</a>) als sichere Alternativen zu WhatsApp. </p>
<p>Bei mir sind nur noch ganz wenige Kontakte im privaten Umfeld auf WhatsApp verblieben. Auch die versuche ich gerade weg zu bekommen, da eigenltich schon die reine installierte WhatsApp App schon ein Sicherheitsproblem auf dem Handy darstellt. </p>
<p>Aber trotzdem mal eine ganz kurze Zusammenfassung der Sicherheitsprobleme von WhatsApp und ein kurzer Vergleich.</p>
<p>Apple hat vor Kurzem die Datenschutz Deklaration im App Store eingeführt. Schaut man sich also eine App im App Store an, so kann man feststellen, welche Daten die Applikation so verwenden möchte, bzw. verwendet:</p>
<ul>
<li>Whatsapp:<br/> <img alt="" height="474" src="http://www.pflaeging.net/static/media/uploads/blog/.thumbnails/whatsapp-data.png/whatsapp-data-868x474.png" width="868"/><br/>Das sieht üppig aus: wozu breucht WhasApp meine Finanzinformationen, meinen Standort und meine gekauften Artikel am iPhone?</li>
<li>Telegram:<br/><img alt="" height="391" src="http://www.pflaeging.net/static/media/uploads/blog/.thumbnails/telegram-data.png/telegram-data-868x391.png" width="868"/><br/>Schon besser, Telegram möchte meine Kontakte lesen (um zu sehen, wer von meinen Freunden auch Telegram verwendet)</li>
<li>Signal:<br/><img alt="" height="366" src="http://www.pflaeging.net/static/media/uploads/blog/.thumbnails/signal-data.png/signal-data-868x366.png" width="868"/><br/>So stelle ich mir das eigentlich vor. Ein Messenger sollte nichts von meinem Handy wissen wollen, außer den Infos die ich selbst eingebe.</li>
</ul>
<p></p>
<h2>Zu den weiteren Punkten im Vergleich</h2>
<p></p>
<table border="1" height="322" style="height: 322px; margin-left: auto; margin-right: auto;" width="590"><caption></caption>
<tbody>
<tr>
<td></td>
<td>WhatsApp</td>
<td>Telegram</td>
<td>Signal</td>
</tr>
<tr>
<td>
<p>Verfügbarkeit</p>
</td>
<td>
<ul>
<li>iPhone</li>
<li>Android Handy</li>
<li>Windows</li>
<li>Mac OS</li>
<li>Web Browser</li>
</ul>
</td>
<td>
<ul>
<li>iPhone</li>
<li>iPad</li>
<li>Android Handy</li>
<li>Windows</li>
<li>Mac OS</li>
<li>Linux</li>
<li>Web Browser</li>
</ul>
</td>
<td>
<ul>
<li>iPhone</li>
<li>iPad</li>
<li>Android Handy</li>
<li>Windows</li>
<li>Mac OS</li>
<li>Linux</li>
</ul>
</td>
</tr>
<tr>
<td>Datenspeicherung</td>
<td>Auf den WhatsApp Servern</td>
<td>Auf den Telegram Servern</td>
<td>
<p>keine zentrale Speicherung</p>
<p>daher sicherer!</p>
</td>
</tr>
<tr>
<td>Gruppenchat</td>
<td>Ja</td>
<td>Ja</td>
<td>Ja</td>
</tr>
<tr>
<td>
<p>Telefon</p>
</td>
<td>Ja</td>
<td>Ja</td>
<td>Ja</td>
</tr>
<tr>
<td>Video</td>
<td>Ja</td>
<td>Ja</td>
<td>Ja</td>
</tr>
<tr>
<td>Open Source</td>
<td>Nein</td>
<td>Nur die App, nicht der Server</td>
<td>komplett</td>
</tr>
</tbody>
</table>Installation und Konfiguration von Signal als WhatsApp Ersatz2021-01-09T13:45:37+00:002024-03-18T17:28:36+00:00Peter Pfläginghttp://www.pflaeging.net/blog/author/peter/http://www.pflaeging.net/blog/installation-und-konfiguration-von-signal-als-whatsapp-ersatz/<h2>Installation von Signal als WhatsApp Ersatz</h2>
<p>Dieser Artikel soll als Hilfe für alle Diejenigen sein, bei denen WhatsApp von den Enkeln, Kindern, Nicht oder Neffen oder anderen Digital Kompetenten aus dem Umfeld installiert wurde und die das Gefühl haben, jetzt auf eine bessere Plattform als WhatsApp wechseln zu wollen.</p>
<p>Die Anleitung kann man in leichter Abwandlung auch für andere Messenger wie Telegram (<a href="https://www.telegram.org">https://www.telegram.org</a>) verwenden.</p>
<p>Einen kurzen Vergleich liefert mein voriger Artikel: <a href="http://www.pflaeging.net/blog/signal-oder-telegram-als-whatsapp-alternative/">Blogbeitrag: Signal oder Telegram als WhatsApp Alternative</a></p>
<p>Also, legen wir los:</p>
<h2>Schritt 1: Vorbereitung</h2>
<ul>
<li>Die eigene Telefonnummer aufschreiben.</li>
<li>Format:<code> +49 (171) 123 4567</code></li>
<li>+49 = Nationencode (für Deutschland +49, für Österreich +43, für die Schweiz +41 und so weiter</li>
<li>(171) = die Vorwahl</li>
<li>123 4567 = die eigentliche Telefonnummer</li>
</ul>
<p>Erklärung Die Registrierung bei Signal geht wie auch bei WhatsApp als auch bei Telegram über die eigene Telefonummer und eine SMS als Passwort.</p>
<h2>Schritt 2: Installation von Signal</h2>
<ul>
<li>Einfach folgende URL am Handy im Browser (Safari oder Chrome oder Firefox) aufrufen <a href="https://www.signal.org/install">https://www.signal.org/install</a></li>
<li>Jetzt startet bei iPhones der <strong>Apple App Store</strong> und bei Android Handies <strong>Google Play</strong> und die App taucht zur Installation auf!</li>
<li>Einfach <em><Installieren></em> oder <em><Laden></em> drücken und schon wird die App installiert.</li>
</ul>
<h2>Schritt 3: Signal starten</h2>
<p>Auf dem Handy die App Signal suchen und starten. </p>
<p>Das Symbol sieht so aus:</p>
<p> <img alt="" height="240" src="http://www.pflaeging.net/static/media/uploads/blog/.thumbnails/240px-signal_ultramarine_icon.png/240px-signal_ultramarine_icon-240x240.png" width="240"/></p>
<h2>Schritt 4: Registrierung mit der eigenen Telefonnummer</h2>
<ol>
<li>Eine Nachricht mit Nutzungsbedingungen und Datenschutzerklärung erscheint. Wir vertrauen dem und drücken <<em>WEITER</em>></li>
<li>Signal fragt nach Zugriff auf Deine Kontakte um nach Freunden zu suchen. Das kann man mit Ja oder Nein beantworten, ohne ein Problem zu produzieren. Ich beantworte das mit <JA> oder <WEITER></li>
<li>Signal hätte auch gern Zugriff auf Deine Fotos. Bei Android wird oft schon bei der Installation gefragt, bei IOS (am iPhone) erst dann, wenn man ein Foto schicken will. Auch diese Frage beantworte ich mit <ZULASSEN></li>
<li>Jetzt kommt der Dialog: "<strong>Gibt deine Rufnummer ein, um zu beginnen</strong>"
<ol>
<li>Land der Telefonnummer wählen. Jetzt sollte der Nationcode (siehe oben) korrekt ausgefüllt sein.</li>
<li>Auf das Feld Rufnummer klicken und die eigene Telefonnummer eintippen. In userem Beispiel wäre das: <code>171 123 4567</code> (die Leerzeichen dienen nur der Lesbarkeit und brauchen nicht eingegegeben zu werden!)</li>
<li><WEITER> anklicken</li>
</ol>
</li>
<li>Jetzt kommt bei Vielen ein sogenanntes Captcha. Das ist, um sicherzugehen, dass ein Mensch sich dort registriert und nicht eine Maschine. <br/>Es kommt die Frage "Bist du ein Mensch?" und eine Frage mit 9 Bildern. Einfach den Anweisungen folgen und bestätigen drücken.</li>
<li>Jetzt erscheint eine Maske mit einer Code Eingabe und Du bekommst eine SMS an das Handy mit einem 6 stelligen Code.</li>
<li>Den Code einfach eingeben. Zumindest unter Android passiert das vollautomatisch, am iPhone wird noch nachgefragt oder man muss den Code händisch eingeben.</li>
<li>Als Abschluss landet man auf seiner Profilseite, wo man seinen Namen eingeben sollte (wird aber nicht überprüft). Außerdem kann man ein Bild von sich selbst einfügen (braucht man aber nicht).</li>
<li>Als letzten Schritt muss man einen Verschlüsselungspin erstellen:
<ol>
<li>Eine 4 Ziffern PIN erstellen, auf einen Zettel schreiben und im Safe deponieren</li>
<li><WEITER> tippen</li>
</ol>
</li>
<li>PIN noch einmal eintippen zur Bestätigung</li>
<li>Fertig!</li>
</ol>
<h2>Schritt 4: Die erste Nachricht</h2>
<p>Mit viel Glück sieht man jetzt beim Start von Signal schon ein paar Kontakte aus dem eigenen Telefonbuch mit denen man kommunizieren kann. Wenn man niemanden findet, so kann man auch direkt eine Telefonnummer eines Bekannten / einer Bekannten eingeben.</p>
<p>Ab jetzt funktioniert alles sehr ähnlich wie in WhatsApp. </p>
<p>Mir ist aufgefallen, das manche Funktionen erst nach einem Neustart der Signal App verfügbar waren. Also entweder die App neu starten oder das Handy neu starten!</p>
<p></p>
<p></p>Ein gutes neues Jahr 20212021-01-01T14:58:11+00:002024-03-19T00:52:51+00:00Peter Pfläginghttp://www.pflaeging.net/blog/author/peter/http://www.pflaeging.net/blog/ein-gutes-neues-jahr-2021/<p><img alt="New Year 2021" height="600" src="http://www.pflaeging.net/static/media/uploads/blog/neujahr-2021.jpeg" width="800"/></p>
<p>(Jardín de la Marquesa, Gran Canaria, Spanien, Januar 2020)</p>Paper Blog2020-11-17T14:47:41+00:002024-03-18T22:49:38+00:00Peter Pfläginghttp://www.pflaeging.net/blog/author/peter/http://www.pflaeging.net/blog/paper-blog/<h1>Paper Blog</h1>
<p>Was um himmelswillen ist ein PaperBlog?</p>
<p>Ich würde es für mich einmal als Selbstversuch betrachten, ...</p>
<p>Ein PaperBlog ist ein Blog in dem die Artikel nicht als normaler Text geschrieben werden, sondern als Handschrift in ihrer analogen Form veröffentlicht sind. D.h. ein PaperBlog besteht aus gescannten handgeschriebenen Artikeln!</p>
<p>Und warum?</p>
<p>Ganz einfach:</p>
<ul>
<li>Jeder Text, den man mit der Hand schreibt ist ein Unikat</li>
<li>Die Texte sind tatsächlich so von mir geschrieben (Copy & Paste gehen bei Handschrift nicht so gut)</li>
<li>Auch das Schreiben mit der Hand ist eine Kunstform (das muss noch nicht mal Kalligraphie sein)</li>
<li>Handgeschriebene Texte wirken für mich ersteinmal authentischer und geben dem Text eine zusätzlliche Form</li>
</ul>
<p>Ich habe jetzt also einmal angefangen, meine Gedanken und Kurztexte in einem PaperBlog unter</p>
<p><a href="https://paper.pflaeging.net" target="_blank">https://paper.pflaeging.net</a></p>
<p><em></em>zu publizieren.</p>
<p></p>Gubernat: der Kubernetes mini Container ;-)2019-11-28T20:22:34+00:002024-03-17T09:10:12+00:00Peter Pfläginghttp://www.pflaeging.net/blog/author/peter/http://www.pflaeging.net/blog/gubernat-der-kubernetes-mini-container-/<p>Die meisten von uns, die mit Docker und Kubernetes / OpenShift / OKD arbeiten haben das gleiche Problem:</p>
<p></p>
<p>Irgendwo neben den Standard Clustern läuft eine kleine Instanz mit Docker Containern, die stabil und kompakt funktionieren muss. Die meisten verwenden hier einen Standard Linux Server mit <code>docker-compose</code>.</p>
<p><code>docker-compose</code> ist aber in die Jahre gekommen und die Syntax, Versionen und Beschränkungen die das System mitbringt erzwingen zum Teil mehr Administration und Config Arbeit als eigentlich notwendig.</p>
<p>Bei mir ist daher die Idee entstanden auf Basis eines aktuellen Kubernetes eine schnelle und einfache Minimalkonfiguration zu bauen, die auf einem Single Host oder Minimal Cluster den <code>docker-compose</code> Unfug ersetzen kann:</p>
<p>Juhu da ist <em><strong><a href="https://github.com/pflaeging/gubernat" target="_blank">Gubernat</a></strong></em> (lateinisch für den Steuermann) (<a href="https://github.com/pflaeging/gubernat">https://github.com/pflaeging/gubernat</a>)</p>
<p><em><strong>Gubernat</strong></em> besteht aus:</p>
<ul>
<li>Centos 7 als Basis</li>
<li>Kubernetes 1.16.2 (native)</li>
<li>der Standard k8s nginx Ingress</li>
<li>helm 2</li>
<li>local storage provisioning</li>
<li>flannel network layer</li>
<li>kubernetes dashboard</li>
</ul>
<p>Damit kann man nahezu jede Kubernetes Workload verwenden.</p>
<p>Dieses System eignet sich natürlich auch als Ersatz für ein minikube während der Entwicklung.</p>
<p>Bei mir läuft es derzeit nebenher auf dem Notebook in einer <em>Virtual Box VM</em> unter <em>Centos7 (64bit)</em> mit 2 Gigabyte Hauptspeicher und 16 Gigabyte Harddisk. </p>
<p></p>Kubecon Europe 2019 (Teil 3): Architekturpattern in Orchestrierungsumgebungen2019-05-23T13:15:04+00:002024-03-18T03:31:28+00:00Peter Pfläginghttp://www.pflaeging.net/blog/author/peter/http://www.pflaeging.net/blog/kubecon-europe-2019-teil-3-architekturpattern-in-orchestrierungsumgebungen/<h1>Teil 3: Architekturpattern in Orchestrierungsumgebungen</h1>
<p>Ein nicht unerheblicher Teil der Vorträge und Diskussion auf der KubeCon 2019 wird über Designpattern geführt. Interessant ist es, dass es derzeit selbst in großen Organisationen oft noch keinerlei Begriff und Verständnis über derartige Pattern gibt:</p>
<ul>
<li>Wie werden die Cluster aufgeteilt? </li>
<li>Wo sind die Lokationen der Cluster?</li>
<li>Wie werden die Namespaces aufgeteilt, verteilt und wie werden die RBAC Policies darauf implementiert?
<ul>
<li>Es gibt viele Organisationen, die augenscheinlich noch nichts von RBAC auf Namespaces gehört haben!</li>
<li>Wo der Unterschied zwischen einem Namespace (Kubernetes) und einem Project (OpenShift / Rancher2) liegt ist nicht klar / schwer nachzuvollziehen</li>
</ul>
</li>
<li>Wie groß sollen die Cluster werden?</li>
<li>Trennt man Cluster nach Funktion (Development / Test / QM / Production) oder nach Location ( Europe / Americas / Asia) , ...?</li>
<li>Wie setzt man Policies für Label und Selektoren auf?</li>
<li>Wie geht man mit Network Policies um?
<ul>
<li>Die meisten Network Policies kommen aus der "alten" Welt der Intra- / Extra- & Internet Philosophie und passen daher nicht sehr gut auf die modernen Anforderungen.</li>
<li>Wie spielt eine Cluster Network Policy mit der Physical Network Policy zusammen?</li>
<li>Was passiert, wenn man Cloud Provider und On Premise mischt?</li>
</ul>
</li>
<li>Wie geht man mit Volumes um?
<ul>
<li>Auch auftrennen wie die Cluster / Namespaces?</li>
<li>Self Service für PV's?</li>
<li>Storage Classes oder doch nicht?</li>
</ul>
</li>
<li>Wie werden die CI / CD Policies implementiert? Löst jedes Branching ein Build aus? Wie wird gebrancht?</li>
</ul>
<p></p>
<p>Vermutlich könnte man noch 3 Seiten mit Fragen füllen. Das zeigt aber deutlich, das es nicht reicht, eine Orchestrierung zu installieren oder installieren zu lassen. Man muss sich nicht nur mit neuen Applikationspattern sondern auch massiv mit Infrastrukturarchitekturen beschäftigen.</p>
<p>Der große Vorteil: Mit etwas Aufwand kann man viele Entscheidungen revidieren, ohne dass der Aufwand zu teuer oder exorbitant wird!</p>Kubecon Europe 2019 (Teil 2): Was ist Kubernetes2019-05-22T13:22:21+00:002024-03-18T22:14:12+00:00Peter Pfläginghttp://www.pflaeging.net/blog/author/peter/http://www.pflaeging.net/blog/kubecon-europe-2019-teil-2-was-ist-kubernetes/<h1>Teil 2: Was ist eigentlich Kubernetes?</h1>
<p>Einmal eine kleine Diskussion, was Kubernetes eigentlich ist. Keine technische Diskussion, keine Erklärungen, eher der philosophische Teil ;-)</p>
<h2>Was ist Kubernetes nicht?</h2>
<ul>
<li>Ein fertiges Softwareprodukt.</li>
<li>Ein komplettes System, was man per Klick & Klack oder Cut & Paste installierne kann.</li>
<li>Ein Betriebssystem</li>
<li>Eine Devlopmentumgebung</li>
</ul>
<h2>Was ist Kubernetes dann?</h2>
<ul>
<li>Die Basis (der Kernel, die Infrastruktur) für Containerorchestrierung</li>
<li>Die Grundlage für eine riesengroße Menge an Produkten und Projekten (siehe <a href="https://www.cncf.io">https://www.cncf.io</a>)</li>
<li>Eine einheitliche Infrastruktur, die weitestgehende Interoperabilität erlaubt</li>
<li>Der erste Teil eines schönen neuen virtuellen Lego Baukastens (oder vielleicht doch eher Fischertechnik?)</li>
</ul>
<p>Wer mehr darüber wissen mag, ...</p>
<p>Einfach mit mir diskutieren!</p>
<p>:peter pfläging <<a href="mailto:peter@pflaeging.net">peter@pflaeging.net</a>></p>Kubecon Europe 2019 (Teil 1): Operator2019-05-20T22:38:28+00:002024-03-17T09:10:38+00:00Peter Pfläginghttp://www.pflaeging.net/blog/author/peter/http://www.pflaeging.net/blog/kubecon-europe-2019-teil-1-operator/<h2>Teil 1: Operator</h2>
<p>Derzeit bin ich auf der Kubecon Europe 2019 (<a href="https://events.linuxfoundation.org/events/kubecon-cloudnativecon-europe-2019/" target="_blank">https://events.linuxfoundation.org/events/kubecon-cloudnativecon-europe-2019/</a>).</p>
<p>Ich werde versuchen kurz ein paar Neuigkeiten anzureissen ;-):</p>
<p>Heute sind also die Operator dran!</p>
<p>Operator sind als Automatisations- und Installtool für Kubernetes Installationen zu verstehen. Sie sind auch Pods oder Container, die aber den kompletten Lifecycle von Installationen managen sollen.</p>
<p>Stück für Stück wird zumindest Openshift und OKD komplett auf Operator schwenken. Allerdings ist es derzeit noch nicht sehr bequem eigene Operator zu erstellen. Da wird wohl noch Einiges passieren müssen.</p>
<p>HIer mal die Links auf Operator und den Operator Hub:</p>
<ul>
<li><a href="https://coreos.com/operators/" target="_blank">https://coreos.com/operators/</a></li>
<li><a href="https://operatorhub.io" target="_blank">https://operatorhub.io</a></li>
</ul>
<p></p>Workshops2019-05-20T22:27:08+00:002024-03-17T09:13:07+00:00Peter Pfläginghttp://www.pflaeging.net/blog/author/peter/http://www.pflaeging.net/blog/workshops/<h1>Workshops</h1>
<p>Ab sofort biete ich Inhouse Workshops zum Thema Container / Docker und Orchestrierung an. Genauere Infos sind unter</p>
<p><a href="http://www.pflaeging.net/leistungsangebot/workshops/">https://www.pflaeging.net/leistungsangebot/workshops/</a></p>
<p>zu finden.</p>Docker Crash Kurs ist Online2018-10-12T09:48:00+00:002024-03-17T09:09:50+00:00Peter Pfläginghttp://www.pflaeging.net/blog/author/peter/http://www.pflaeging.net/blog/docker-crash-kurs-ist-online/<p>Ich habe im September 2018 einen Workshop (Crashkurs) (siehe auch <a href="http://www.luga.at/veranstaltungen/docker-2018-09-26/" target="_blank">LUGA Veranstaltung</a>) zum Thema Docker für die LUGS (Linux User Group Austria) gehalten.</p>
<p>Dieser ist jetzt nicht nur als PDF Foliensatz (<a href="http://www.pflaeging.net/static/media/uploads/docker_crash_kurs_2018-09.pdf" target="_blank">Docker-Crash-Kurs-2018-09.pdf</a>) sondern auch als zweiteiliger Videomitschnitt verfügbar.</p>
<p>Der Workshop hat 3 Stunden gedauert.</p>
<p><em><br/>Videomitschnitt: (<a href="https://peertube.luga.at/videos/watch/093f7364-c0c0-43c2-8ae6-85bb0d1819f5" target="_blank">Teil 1</a> & <a href="https://peertube.luga.at/videos/watch/2177bcdc-9131-4d98-be89-b186838d8d17" target="_blank">Teil 2</a> auf Peertube)</em></p>
<p>Viel Spass beim Anschauen.</p>
<p></p>
<p></p>
<p><em>Eigenwerbung: </em>Es ist natürlich möglich einen Workshop oder Kurs in Ihrer Organisation bei mir zu beziehen.</p>
<p>Das betrifft auch Beratung und Implementierungsunterstützung sowie Architektur für Container & Orchestrierung</p>
<p></p>Docker Workshop bei der LUGA (Linux User Group Austria) am 26.9.20182018-09-26T10:07:27+00:002024-03-18T00:32:28+00:00Peter Pfläginghttp://www.pflaeging.net/blog/author/peter/http://www.pflaeging.net/blog/docker-workshop-bei-der-luga-linux-user-group-austria-am-2692018/<p>Es ist zwar etwas spät, aber trotzdem noch einmal zur Erinnerung:</p>
<p></p>
<p>Ich halte heute um 19:00 (26.9.2018) einen Workshop zum Thema Docker. Hier der Abstract:</p>
<blockquote>
<p>Container und im speziellen Docker werden nach der Virtualisierung als ein immer interessanteres Thema genannt. Aber was heißt das wirklich? Wie funktioniert es? Was geht gut und was weniger? Was braucht man?</p>
<p>Dieser Workshop ist wirklich als Workshop zu verstehen und nicht als trockener Vortrag!</p>
<p>Peter Pfläging beschäftigt sich nicht nur seit 2 Jahren mit der Container Infrastruktur aus IT Architektur Sicht, er betreibt seine Dienste (<a href="https://www.stickiebox.org/">https://www.stickiebox.org – Tools zum agilen Arbeiten</a>) auch zur Gänze in einer Containerinfrastruktur, die vollautomatisiert funktioniert.</p>
<p>Nach dem Workshop hat man ein Gefühl, wie sich Docker und Container bedienen, auf was man achten muss und geht mit der Fähigkeit nach Haus, seine ersten Container Services etablieren zu können!</p>
</blockquote>
<p></p>
<p>Link zur Veranstaltung: <a href="http://www.luga.at/veranstaltungen/docker-2018-09-26/" target="_blank" title="http://www.luga.at/veranstaltungen/docker-2018-09-26/">http://www.luga.at/veranstaltungen/docker-2018-09-26/</a></p>
<p></p>
<p>Die dazugehörigen Folien liegen unter <a href="http://www.pflaeging.net/static/media/uploads/docker_crash_kurs_2018-09.pdf" target="_blank" title="Docker-Crash-Kurs-2018-09.pdf">Docker-Crash-Kurs-2018-09.pdf</a></p>
<p></p>Docker Networking & Probleme (no route to host!)2018-08-21T10:26:20+00:002024-03-18T15:47:37+00:00Peter Pfläginghttp://www.pflaeging.net/blog/author/peter/http://www.pflaeging.net/blog/docker-networking-probleme-no-route-to-host/<p>Docker Networking ist für die meisten relativ mystisch. De facto legt Docker ein eigenes SDN (Software Defined Network) für jeden Stack und jeden Container an.</p>
<p></p>
<p>Das bedeutet auch, dass man, sollte man mit docker-compose arbeiten, für ein übergreifendes Networking zwischen den Containern ein eigense Netzwerk definieren muss / sollte.</p>
<p>Ich lege in solchen Fällen meistens ein Netzwerk "internalnet" an. Dies wird bei Restart des Hosts wieder angelegt:</p>
<pre>docker network create internalnet</pre>
<p>Anschließend baue ich einen docker-compose Stack mit HaProxy, Nginx oder apache als Reverse Proxy. Damit braucht keiner der Container direkt in das Internet exposed sein.</p>
<p></p>
<p>Nun hat das ganze aber ein paar kleine Probleme, die nicht in der oben genannten Konfiguration, sondern am firewalld liegen.</p>
<p>Hier der Effekt:</p>
<p>Man kann vom Container aus den Host auf dem der Container läuft zwar pingen, bekommt aber keinen Connect. Das verhindert die Firewall.</p>
<p>Sollte der Rechner im Internet stehen und die firewalld Zone "public" verwendet werden, hier die Config Änderung:</p>
<p>In der XML Datei <code>/etc/firewalld/zones/public.xml</code> folgendes in den <code><zone></zone></code> Bereich einfügen:</p>
<pre> <rule family="ipv4"><br/> <source address="172.16.0.0/12"/><br/> <accept/><br/> </rule></pre>
<p>Anschliessend mit <code>systemctl restart firewalld</code> die Firewall neu starten. Fertig!</p>
<p>Der Vorteil dieser Lösung:</p>
<p>Man muss in der Konfiguration der Container nicht mehr unbedingt die internen IP Names der Container Struktur eintragen, sondern kann auch über die externen Gateways des Hosts gehen.</p>
<p></p>OSCON 20182018-08-04T20:36:36+00:002024-03-19T01:20:29+00:00Peter Pfläginghttp://www.pflaeging.net/blog/author/peter/http://www.pflaeging.net/blog/oscon-2018/<h1><span>Portland, Oregon – Stadt der vielen Brücken</span></h1>
<h1><span><img alt="" src="http://www.pflaeging.net/static/media/uploads/blog/oscon2018-463.jpg" width="400"/></span></h1>
<h1></h1>
<h2><span><img alt="" src="http://www.pflaeging.net/static/media/uploads/blog/oscon2018-462.jpg" width="200"/></span><span>20<sup>th</sup> year of <abbr title="Open Source Convention">OSCON</abbr> in 2018</span></h2>
<p></p>
<p>Im übertragenen Sinn gilt dies auch für die OSCON. Die OSCON war und ist eine Plattform, wo große Unternehmen, Start-Ups und Einzelpersonen sich treffen und eifrig austauschen.</p>
<p><img alt="" src="http://www.pflaeging.net/static/media/uploads/blog/oscon2018-461.jpg" width="200"/></p>
<p>Es herrscht ein Klima des Wertschätzung und Offenheit. Vielleicht mit ein Grund, warum dort „Geschichte“ geschrieben wird, zum Beispiel: </p>
<ul>
<li>1998 drehte sich alles um Perl (Pearlkonferenz, „Vorgruppe“ der OSCON)</li>
<li>2000 wurde auf der OSCON OpenOffice gestartet.</li>
<li>2010 bildete OpenStack die Basis für Clouddienste.</li>
<li>2015 wurde Kubernetes 1.0 verkündet. </li>
</ul>
<p>2018 ist das Jahr der Orchestrierung, basierend auf Kubernetes. Moderne Architekturen nutzen die Vorteile einer containerbasierten Infrastruktur. Auch hier ist wieder OpenSource ein Wegbereiter für Fortschritt und Innovation.</p>
<p><a href="https://www.oreilly.com/tim/index.html" target="_blank">Tim O’Reilly</a> liebt an Open Source nicht nur die Art und Weise, wie Software geschrieben wird, sondern er sieht es als eine Art „Way of Life“. Der soziale Antrieb der Gesellschaft auch etwas zurückgeben zu wollen, ist ihm wichtig. Dieses Paradigma spiegelt sich auch in der Software wieder: robust, einfach, teilbar. Diese Prinzipien teilt sie mit dem Internet. </p>
<p>Bildung im 21. Jahrhundert bedeutet für ihn lebenslanges Lernen. Dies hat immer auch für Open Source gegolten. Seine Keynote im Original gibt es unter: "<span><a href="https://www.oreilly.com/ideas/open-source-and-open-standards-in-the-age-of-cloud-ai">Open source and open standards in the age of cloud AI</a></span>" (<span><a href="https://www.oreilly.com/ideas/open-source-and-open-standards-in-the-age-of-cloud-ai">https://www.oreilly.com/ideas/open-source-and-open-standards-in-the-age-of-cloud-ai</a></span>).</p>
<p>Weitere Highlights von der O’Reilly Oscon in Portland 2018 gibt es unter: <span><a href="https://www.oreilly.com/ideas/highlights-from-oscon-portland-2018">https://www.oreilly.com/ideas/highlights-from-oscon-portland-2018</a>.</span></p>
<p><span><img alt="" src="http://www.pflaeging.net/static/media/uploads/blog/oscon2018-460.jpg" width="400"/></span></p>
<p><span> </span></p>Mehr Zeit für noch wichtigere Dinge haben2018-07-30T19:12:47+00:002024-03-19T02:50:41+00:00Peter Pfläginghttp://www.pflaeging.net/blog/author/peter/http://www.pflaeging.net/blog/mehr-zeit-f%C3%BCr-noch-wichtigere-dinge-haben/<p></p>
<ul>
<li>Notierst du für dich Wichtiges auf Notizzetteln (Post-It) und in ToDo-Listen?</li>
<li>Hängen diese „Zetteln“ an unterschiedlichen Stellen und Orten (physisch und/oder online)?</li>
<li>Wünscht du dir Unterstützung bei der Verwaltung deiner Aufgaben, egal ob beruflich oder privat - unabhängig wo du gerade bist?</li>
<li>Möchtest du gerne Tätigkeiten (auf)teilen ohne den Überblick zu verlieren, wer wann was wie gemacht hat?</li>
<li>Soll das Ganze auch in Teams funktionieren?</li>
</ul>
<p><strong>JA?</strong></p>
<p><span><strong><a href="https://www.stickiebox.org/">Stickie~Box</a></strong></span><strong>, dein Work Aktivity Management Tool,</strong></p>
<p><strong>kann dir helfen, dich und andere besser zu organisieren. </strong></p>
<p><a href="https://www.stickiebox.org/details#todo"><img alt="" src="http://www.pflaeging.net/static/media/uploads/blog/todo-de.png" width="200"/></a><a href="https://www.stickiebox.org/details#eigenorg"><img alt="" src="http://www.pflaeging.net/static/media/uploads/blog/eigenorg-de.png" width="200"/></a><a href="https://www.stickiebox.org/details#teamorg"><img alt="" src="http://www.pflaeging.net/static/media/uploads/blog/teamorg-de.png" width="200"/></a></p>
<p><a href="https://www.stickiebox.org/details#project"><img alt="" src="http://www.pflaeging.net/static/media/uploads/blog/projects-de.png" width="200"/></a><a href="https://www.stickiebox.org/details#flow"><img alt="" src="http://www.pflaeging.net/static/media/uploads/blog/flow-de.png" width="200"/></a><a href="https://www.stickiebox.org/details#events"><img alt="" src="http://www.pflaeging.net/static/media/uploads/blog/events-de.png" width="200"/></a></p>
<p> </p>
<p><strong>... nach dem Motto “Stickies in die Box - We will make it work!</strong></p>Workshop und Vortrag zum Thema Federated Identity2018-02-05T15:02:13+00:002024-03-17T00:07:38+00:00Peter Pfläginghttp://www.pflaeging.net/blog/author/peter/http://www.pflaeging.net/blog/workshop-und-vortrag-zum-thema-federated-identity/<p>Vom 5.2.2018 - 8.2.2018 war die Konferenz TIIME 2018 in Wien:</p>
<p>TIIME -> <a href="https://tiimeworkshop.eu/wwwTiimeworkshopEu/" rel="noopener" target="_blank">Trust and Internet Identity Meeting Europe 2018</a></p>
<p>Ich habe dort einen Vortrag und einen Workshop zum Thema Identity Management gehalten:</p>
<ul>
<ul>
<li><a href="http://www.pflaeging.net/static/media/uploads/old/2018/02/TIIME2018-Workshop-Keycloak.pdf" target="_blank">Keycloak Workshop</a></li>
</ul>
</ul>
<ul>
<ul>
<li><a href="http://www.pflaeging.net/static/media/uploads/old/2018/02/TIIME2018-Keycloak-UseCases.pdf" target="_blank">Keycloak Use Cases</a></li>
</ul>
</ul>
<p></p>
<p> </p>Openshift Origin2017-07-03T09:39:23+00:002024-03-19T01:41:35+00:00Peter Pfläginghttp://www.pflaeging.net/blog/author/peter/http://www.pflaeging.net/blog/openshift-origin/<p>Ich starte gerade mein neues Projekt "StickieBox", aber dazu später, ...</p>
<p>Zentrale Punkt jedes Web Services sind heute:</p>
<p></p>
<ul>
<ul>
<li>Hohe Verfügbarkeit</li>
</ul>
</ul>
<p></p>
<ul>
<ul>
<li>Skalierbarkeit </li>
</ul>
</ul>
<p></p>
<ul>
<ul>
<li>Portabilität auch über mehrere Cloud Provider hinweg</li>
</ul>
</ul>
<p></p>
<ul>
<ul>
<li>Entscheidung: auf eigener Infrastruktur, gehostet oder über einen der "großen" Provider wie Google, Amazon oder Microsoft</li>
</ul>
</ul>
<p></p>
<ul>
<ul>
<li>schnelles Deployment neuer Versionen, ideal sogar Continuous Integration</li>
</ul>
</ul>
<p></p>
<p>Ich habe daher mal mit Docker angefangen, bin dann über Docker-Compose und Kubernetes jetzt bei Openshift Origin gelandet.</p>
<p>Vorteile:</p>
<p></p>
<ul>
<ul>
<li>Alle Komponenten integriert<br/><br/>
<ul>
<ul>
<li>Container</li>
</ul>
</ul>
<br/>
<ul>
<ul>
<li>Verteilung</li>
</ul>
</ul>
<br/>
<ul>
<ul>
<li>Lastausgleich</li>
</ul>
</ul>
<br/>
<ul>
<ul>
<li>Konfigurationsmanagement</li>
</ul>
</ul>
<br/><br/></li>
</ul>
</ul>
<p></p>
<ul>
<ul>
<li>zentral managbar</li>
</ul>
</ul>
<p></p>
<ul>
<ul>
<li>Open Source</li>
</ul>
</ul>
<p></p>
<ul>
<ul>
<li>sehr gut standardisiert</li>
</ul>
</ul>
<p></p>
<p>Nachteile:</p>
<p></p>
<ul>
<ul>
<li>hinreichend komplex</li>
</ul>
</ul>
<p></p>
<ul>
<ul>
<li>Dokumentation sehr detailliert, aber nicht immer auf stand und zum Teil zu detailiert</li>
</ul>
</ul>
<p></p>
<ul>
<ul>
<li>alle Überblicksdokumentationen sind NICHT auf neuestem Stand</li>
</ul>
</ul>
<p></p>
<ul>
<ul>
<li>Einarbeitung daher nicht ganz einfach, aber lohnenswert.</li>
</ul>
</ul>
<p></p>
<p>Ich werde später noch über mein Projekt berichten, ...</p>Einfaches, leistungsfähiges und günstiges NAS (Network Attached Storage)2017-03-21T11:29:37+00:002024-03-18T14:45:10+00:00Peter Pfläginghttp://www.pflaeging.net/blog/author/peter/http://www.pflaeging.net/blog/einfaches-leistungsf%C3%A4higes-und-g%C3%BCnstiges-nas-network-attached-storage/<p>Mittlerweile haben selbst die meisten Privathaushalte das Problem, die Festplatten allen Rechnern und Mobilgeräten im Haushalt zugänglich zu machen. </p>
<p>Da bietet sich ein NAS (Network Attached Storage) oder "Netzwerkfestplatte" an.</p>
<p>Alle Systeme, die ich mir bisher angesehen habe sind aber entweder</p>
<p></p>
<ul>
<ul>
<li>zu teuer</li>
</ul>
</ul>
<p></p>
<ul>
<ul>
<li>zu schlecht implementiert</li>
</ul>
</ul>
<p></p>
<ul>
<ul>
<li>nicht erweiterungsfähig</li>
</ul>
</ul>
<p></p>
<ul>
<ul>
<li>oder alles zusammen.</li>
</ul>
</ul>
<p></p>
<p>Jetzt habe ich ein sehr schönes einfaches und zudem noch komplett offenes System gefunden:</p>
<p><a href="http://www.openmediavault.org" target="_blank">Open Media Vault</a> auf einem <a href="http://at.rs-online.com/web/p/processor-microcontroller-development-kits/8968660/">Raspberry Pi 3</a></p>
<p>Jetzt braucht man nur noch ein paar USB-Festplatten dranzuhängen (der Raspi hat 4 USB Ports) und schon kann es los gehen:</p>
<p>Über ein sehr komfortables Webinterface kann man das System konfigurieren. Die Festplatten können auch zu RAID-Sets oder als LVM Volumes konfiguriert werden und es gibt so ziemlich alle Zugriffsmethoden auf den Speicher inklusive DLNA, CIFS, WebDav, ...</p>
<p>Alle Komponenten dieses Systems sind Open Source, man verbaut sich damit also auf keinen Fall die Zukunft ;-)</p>
<p> </p>Probleme beim Verbindungsaufbau Linux - MacOS, Android, IOS,...2017-03-14T17:03:08+00:002024-03-18T16:18:17+00:00Peter Pfläginghttp://www.pflaeging.net/blog/author/peter/http://www.pflaeging.net/blog/probleme-beim-verbindungsaufbau-linux-macos-android-ios/<h2>Das Problem</h2>
<p><br/>Ich hatte jetzt ca 3 Wochen lang massiv Probleme in dem folgenden Szenario:</p>
<p>Meine Rechner und Mobilgeräte in einem privaten Netz hinter einem typischen Huawei LTE Router mit NAT.</p>
<p>Auf der anderen Seite meine Rootserver mit Linux (Debian 8) und einer üppigen Installation:</p>
<p></p>
<ul>
<ul>
<li>dovecot IMAP</li>
</ul>
</ul>
<p></p>
<ul>
<ul>
<li>postfix</li>
</ul>
</ul>
<p></p>
<ul>
<ul>
<li>Redmine</li>
</ul>
</ul>
<p></p>
<ul>
<ul>
<li>SoGo Groupware</li>
</ul>
</ul>
<p></p>
<ul>
<ul>
<li>Wordpress Blog</li>
</ul>
</ul>
<p></p>
<ul>
<ul>
<li>Alfresco Dokumentenmanagement</li>
</ul>
</ul>
<p></p>
<ul>
<ul>
<li>...</li>
</ul>
</ul>
<p></p>
<p><br/>Jetzt taucht auf einmal folgendes Problem auf. Ich versuche mit diversen Services aus meinem Netz meinen Server zu kontaktieren. Verbindungen dauern entweder extrem lang oder liefern ein Timeout.</p>
<p>Nach einer Untersuchung mit Wireshark stelle ich fest, dass auf ein SYN Sent vom Client erst nach dem 4. oder 5. Versuch ein SYN ACK vom Server folgt. Von anderen Access Points oder von anderen Providern mit den gleichen Geräten funktioniert alles. Auch der Versuch gemeinsam mit der T-Mobile.at Technical Hotline brachte keine wirkliche Lösung für das Problem. </p>
<p>Verwende ich mein T-Mobile Handy als Hotspot geht alles, also muss das Problem irgendwo in der NAT Konfiguration liegen.</p>
<h2>Die Lösung</h2>
<p><br/>Nach einigem Suchen und Überlegen, habe ich dann doch noch eine Lösung für das Problem gefunden. Eine hundertprozentige Begründung habe ich allerdings nicht.</p>
<p>Augenscheinlich kann es Probleme verursachen, unterschiedlichste Geräte hinter einer mehrstufigen NAT Konfiguration zu betreiben. Genau das ist aber der Fall in meinem Szenario. Hier sind zumindest 2 mal NAT im Einsatz: einer bei mir und der zweite bei T-Mobile.</p>
<p>Daher am Server TCP Timestamping abdrehen. Das bringt aus meiner Sicht kein Problem betreffs Performance oder Funktionalität, hilft aber schlagartig:</p>
<p><code>sysctl -w net.ipv4.tcp_timestamps=0<br/></code></p>
<p>unter root eingeben. Diese Konfiguration auch in /etc/sysctl.conf eintragen. Zumindest bei mir hat das mein Problem gelöst!</p>
<p> </p>
<p> </p>Verein OpenFabNet: Fokus Team Federated Identities2017-02-27T08:05:36+00:002024-03-17T09:12:43+00:00Peter Pfläginghttp://www.pflaeging.net/blog/author/peter/http://www.pflaeging.net/blog/verein-openfabnet-fokus-team-federated-identities/<p>Der Verein <a href="https://openfabnet.com/">OpenFabNet</a> wurde als Forschungsverein schon vor einiger Zeit gegründet. Ich habe dort bisher eine eher abwartende Rolle eingenommen. Jetzt habe ich mich aber entschlossen aktiv ein Fokus Team dort mitzugestalten und zu leiten:</p>
<p><b>Federated Identitites</b></p>
<p>In jedem verteilten System und ganz besonders in Umgebungen, welche nicht zentral gemanaged werden taucht über kurz oder lang das Problem der Identität, der Berechtigung und der Nachvollziehbarkeit (oder Abrechenbarkeit) auf. Der neu entstehende Bereich der Digitalisierung bildet hier keine Ausnahme, sondern ganz im Gegenteil:</p>
<p><ul><br/> <li>verteilte Systeme benötigen zentrale Mechanismen für Authentifikation, Authorisierung und Abrechenbarkeit</li><br/> <li>Offene Standards sind bei der Verbindung dieser Mechanismen zwingend</li><br/> <li>diese Methoden werden in allen Ebenen verwendet und benötigt</li><br/></ul></p>
<p>Ziel muss es daher sein, folgendes zu erreichen:</p>
<p><ul><br/> <li>ein offener Mechanismus für Identität (Identity => Authentication)</li><br/> <li>Federation der Mechanismen</li><br/> <li>Offene Standards</li><br/> <li>Ein für alle Teilnehmer verbindliches Rahmenwerk</li><br/> <li>Ein Rollenmodell, welches erweiterbar ist</li><br/></ul></p>
<p>Kandidaten:</p>
<p><ul><br/> <li>SAML2</li><br/> <li>OpenID</li><br/> <li>OAuth2</li><br/></ul></p>
<p>Näheres zu diesem Thema im Verein <a href="https://openfabnet.com">OpenFabNet</a>: Fokus Team <a href="https://openfabnet.com/project/teams-federated-identities/">Federated Identities</a> </p>