terraforming Hetzner, dynamische IPs

kubernetes–API in der Firewall beschränken

Auf den kubernetes–Nodes lauscht auf Port 6443/tcp die kube–api, über die beispielsweise unser kubectl von zuhaus mit dem Cluster kommuniziert.

In den bisheringen Beispielen für die Firewall haben wir Ports immer fürs gesamte Internet geöffnet (0.0.0.0/0 & ::/0 …

Continue reading »Comments

terraforming Hetzner, Pt 4

HA–Cluster mit mehreren Nodes aufbauen

Nach dem letzten Artikel läuft kubernetes ja schonmal. Um einen High Availability Cluster mit mehreren Nodes aufzubauen müssen wir tatsächlich nur noch wenige Dinge anpassen. In der Hauptsache holen wir das Beispiel mit den drei Webservern wieder hervor um mehrere VMs gleichzeitig anzulegen, und …

Continue reading »Comments

terraforming Hetzner, Pt 3

Ein Single–Node kubernetes–Cluster entsteht

Die Loadbalancer, Netze uns so weiter aus dem letzten Artikel lassen wir erstmal bei Seite und bauen einen all–in–one kubernetes–Cluster auf einer VM auf.

Vorweg: Im Netz tummeln sich viele Repositories mit terraform–Plänen um kubernetes aufzubauen, oder mit Modulen um …

Continue reading »Comments

terraforming Hetzner, Pt 2

Mehrere VMs, internes Netzwerk und Loadbalancer

Nachdem wir eine erste VM automatisiert aufbauen können, erweitern wir unsere Templates ein wenig: Es werden 3 VMs mit Webservern, die in einem virtuellen internen Netzwerk stehen sollen und von einem Load Balancer angesprochen werden.

Neue Variablen

variables.tf:

variable "instance_count" {
  default = 3 …

Continue reading »Comments

terraforming Hetzner, Pt 1

Die erste automatisierte VM

Erster Teil der terraform–Serie: Basics und eine einzelne VM.

Zum Zeitpunkt der Drucklegung benutze ich terraform in Version 1.2.0. Alles weitere installieren wir im Laufe des Wegs. :)

Vorbereitungen

Neben terraform und einem geeigneten Rechner um es auszuführen (btw, I use arch) brauchen wir …

Continue reading »Comments

terraforming Hetzner Cloud

Ein Großteil meiner Infrastruktur läuft in der Hetzner Cloud — automatisiert mit Ansible und den hcloud–Modulen.

Um mal wieder etwas anderes und aktuelles zu testen möchte ich mal besser in terraform einarbeiten.

Ich habe erstmal drei verschiedene Szenarien gebaut:

  • Eine einzelne VM in Hetzner Cloud mit Ansible–User die ich …

Continue reading »Comments

Mini-Post-Mortem fehlgeschlagene DB-Migration pixelfed.de

Am Wochenende hatte ich - trotz automatischer Tests - ein fehlgeschlagenes Update von pixelfed.

Der Fehler war mir neu, daher will ich kurz aufschreiben was der Grund war.

Ausfall

Bei Updates vom pixelfed-repo baut mein Jenkins automatisch ein neues Docker-Image, pusht es nach zknt/pixelfed und deployed mit dem frischen Image ein …

Continue reading »Comments

Container Images ohne root bauen

Mit Podman und Buildah existieren Tools um OCI Images und Container zu erstellen, verwalten und betreiben - ganz ähnlich zum bekannten Docker. Die meiner Meinung nach größte Besonderheit: Die beiden funktionieren ohne Daemon, und auch ohne root-Rechte auf einem Linuxsystem.

Während podman meinen docker noch nicht ganz ersetzt (kein Unterstützung für …

Continue reading »Comments

"alprss" - alpine package RSS feed

Viele meiner Docker-Images basieren auf alpine linux, mit ein bis ein paar zusätzlich installierten Packages.

Um zu sehen wann ich so ein Image mal neu bauen sollte, also wann es ein Package Update gab wollte ich einen RSS-Feed für die Packages haben, hab aber keinen gefunden.

Ich habe mir also …

Continue reading »Comments

USB Stick für Ubiquity EdgeRouter (Lite, PoE) vorbereiten

Zum Wochenende funktionierte mein EdgeRouter POE nicht mehr richtig - laut Syslog Fehler im Dateisystem sowie im Block-Storage. Der Speicher war also hin. Einige hilfreiche Leute auf Mastodon wiesen mich darauf hin das die EdgeRouter intern einen USB-Stick haben den man einfach tauschen kann. So weit, so großartig.

Einen passenden Stick …

Continue reading »Comments