Neuigkeiten von trion.
Immer gut informiert.

Artikel in der Kategorie 'devops'

JWK zu PEM konvertieren in der Shell 2 Apr

Geschrieben von Thomas Kruse am 2. April 2025
Kubernetes

Im Rahmen eines Integrationsprojekts von Kubernetes und Vault (bzw. OpenBao ) sollten Secrets aus Vault in Kubernetes bereitgestellt werden. Dabei sollten die verschiedenen direkten Vault Integrationen durch Infrastruktur in Kubernetes abgelöst werden, und die Vault Secrets als Kubernetes Secrets im Cluster verfügbar gemacht werden, um diese dann als Volume oder Umgebungsvariablen bereitzustellen. Damit soll zum einen das Token-Zero-Problem addressiert werden, also wenn Vault zur Verwaltung von Geheimnissen dient, wie werden die Anwendungen mit einem Geheimnis zur Authentifizierung am Vault versorgt, als auch die individuelle Vault Anbindung der verschiedenen Programmiersprachen und Frameworks.

Vault bietet mit dem Vault Secrets Operator auch direkt eine Integration an, die auf unterschiedliche Weise die Authentifizierung gegenüber Vault umsetzt, als auch für das Mapping der Vault Secrets. Ziel war jedoch nicht nur, ein entsprechendes Setup zu implementieren, sondern eine automatisierte Testbarkeit herzustellen. Dazu wird ein stabiles, reproduzierbares Setup benötigt, um die Kubernetes-Vault-Integration jederzeit in der CI Umgebung frisch herzustellen.

In dem Zuge wurde ein Verfahren benötigt, JWK (JSON Web Keys) im PEM Format bereitzustellen - und das am besten automatisiert durch ein einfaches Shell Script z.B. mit der Bash. Eine Umsetzung auf Basis von Kubernetes OIDC JWKS in PEM formatiertes Material zu erhalten wird im folgenden beschrieben.

Lokaler Kubernetes Cluster mit TLS Zertifikat von traefik.me 4 Mär

Geschrieben von Thomas Kruse am 4. März 2025
Kubernetes

Gerade für Experimente und zur Entwicklung bietet sich ein lokaler Kubernetes Cluster an. Zur einfachen Umsetzung gibt es diverse Optionen wie Minikube, KinD oder auch k3s. Auch wir setzen in unseren Kubernetes Schulungen gerne auf ein Cluster Setup, dass durch die Teilnehmer mit geringem Aufwand auf dem eigenen System verwendet werden kann, um auch nach der Schulung eigenständig weiter zu lernen und Übungen nachzuvollziehen.

Wie geht man jedoch bei so einem Setup mit dem Thema TLS Zertifikaten um?
Umgehen ist nicht immer ein praktikabler Weg: Manche Browser APIs, wie zum Beispiel der Zugriff auf die Webcam erfordern schlicht den Einsatz von TLS.

Speziell für diesen Anwendungsfall bietet traefik.me eine Domain, Wildcard-DNS Service und ein durch Let’s Encrypt validiertes Zertifikat an. Dieser Beitrag zeigt die Verwendung von traefik.me in Kombination mit Kubernetes.

Default TLS Zertifikat in Kubernetes 24 Feb

Geschrieben von Thomas Kruse am 24. Februar 2025
Kubernetes

Die Absicherung von HTTP Zugriffen mittels TLS (früher SSL) ist spätestens seit den Enthüllungen von Edward Snowden auch für Anwendungen außerhalb von Banken und Medizin zum Standard geworden. Vor allem Dank des kostenlos nutzbaren Let’s Encrypt sind auch die - früher teils horrenden - Kosten kein Grund mehr, auf TLS zu verzichten.
Die meisten Zertifikatanbieter, die das durch Let’s Encrypt eingeführte ACME Protokoll unterstützen, bieten bei Verwendung der DNS Challenge auch Wildcard Zertifikate an. Wird für einen Kubernetes Cluster primär mit Hostnamen in einer Domain oder Subdomain gearbeitet, so bietet sich ein Wildcard Zertifikat entsprechend an. Damit kann unter Umständen sogar der Einsatz des häufig zusätzlich zur Ingress Implementierung betriebenen Cert Manager entfallen: Dazu würde das Wildcard-Zertifikat als Default TLS Zertifikat im Ingress Controller konfiguriert werden/

Wie das funktioniert, wird im folgenden Beitrag beschrieben.

Pi-Hole auf Kubernetes 26 Jan

Geschrieben von Thomas Kruse am 26. Januar 2025
Kubernetes

Kubernetes eignet sich hervorragend auch für kleine Setups, z.B. in einem Homelab, und auch bei begrenzten Hardwareressourcen. Dafür gibt es beispielsweise besonders schlanke Distributionen wie k3s.
Der immense Vorteil von Kubernetes liegt in den bereitgestellten APIs und der sehr einfachen Möglichkeit, alle Konfigurationen deklarativ zu verwalten.

Um Kubernetes als gute Plattform auch für Homelab Anwendungen zu demonstrieren geht es in diesem Beitrag darum, wie der Werbeblocker Pi-Hole auf Kubernetes betrieben werden könnte.

Container Images absichern mit cosign 3 Okt

Geschrieben von Thomas Kruse am 3. Oktober 2024
Kubernetes

Supply Chain Security spielt auch im Container Umfeld eine immer wichtigere Rolle. Es gilt dabei die Sicherheit im Sinne von Echtheit und Integrität der (Docker) Images abzusichern.
Typische Supply Chain Angriffsszenarien bei Kubernetes, Docker...

Container Image Signing 15 Jun

Geschrieben von Thomas Kruse am 15. Juni 2024
Kubernetes

Container Images sind inzwischen etabliert, um darüber Anwendungen bereitzustellen. Durch das standardisierte Format, einheitliche Schnittstellen und das insgesamt bestehende Ökosystem wird es sehr einfach, Artefakte zu konsumieren und auch bereitzustellen. Jedoch hat das auch Konsequenzen: Die Verantwortung für Patchmanagement, Fehlerbehebungen und Security-Updates verschiebt sich zum Anbieter der jeweiligen Images, da diese mehr, als lediglich die Anwendung selbst beinhalten. Gleichzeitig obligt es dem Konsumenten bzw. Nutzer der Images, sicherzustellen, dass diese aus einer vertrauenswürdigen Quelle stammen und auch nicht zwischendurch verändert wurden.
Diese Aspekte der "Supply-Chain-Security", einem Unterbereich der IT-Sicherheit im Kontext von Containeranwendungen wollen wir uns in diesem und folgenden Artikel widmen.

Zertifikate mit Traefik und Google Trust Services in Docker 15 Mär

Geschrieben von Patrick Fuchs am 15. März 2024
Illustration SecOps Fox

Gerade wenn es um Side-Projects oder Hobbyprojekte geht, ist das Budget oft begrenzt. Dann ist es besonders wichtig, dass keine zusätzlichen Kosten für TLS Zertifikate anfallen.
Im Zentrum eines solchen Projekts steht ein Vue.js-Frontend, das sich mit einer HTTP API verbinden soll. Natürlich mit der erforderlichen Sicherheit, die Transport Layer Security (TLS) bieten kann.

Bislang war ZeroSSL besonders deswegen attraktiv, da keine Rate-Limits kreativer Forschung entgegen standen. Allerdings liefert ZeroSSL seit einiger Zeit fehlerhafte (abgelaufene) Zertifikate aus der Vergangenheit oder auch API Fehler.

Da ACME ein Standard ist, sollte das auch mit anderen Anbietern gehen, und ein weiterer Anbieter ist Google.

Crossplane mit Hetzner hcloud verwenden 3 Feb

Geschrieben von Thomas Kruse am 3. Februar 2024
Kubernetes

Im Beitrag Crossplane Tutorial wurde Crossplane als Werkzeug zur Infrastrukturautomatisierung vorgestellt. In diesem Beitrag wird der Einsatz von Crossplane für die Hetzner Cloud gezeigt. Dabei wird auch betrachtet, wie neue Provider für Crossplane durch Wiederverwendung bestehender Terraform Plugins bereitgestellt werden können.

DSGVO konforme self-hosted Newsletter Software Vergleich: Listmonk, Keila und Mautic 5 Jan

Geschrieben von Patrick Fuchs am 5. Januar 2024
Der Fuchs testet

Die Suche nach dem idealen Self-Hosted Newsletter-Tool kann herausfordernd sein. Es gibt inzwischen auch sehr viele Produkte mit (im grossen und ganzen) ähnlichem Funktionsumfang. In diesem Beitrag werden drei populäre Lösungen verglichen:

  • Listmonk, ein leistungsstarkes und schnelles Tool, bekannt für seine hohe Skalierbarkeit und einfache Bedienung,

  • Keila, welches in Deutschland entwickelt wird und sich durch seine Benutzerfreundlichkeit und Flexibilität auszeichnet.

  • Mautic, eine umfassende und flexible Lösung, die eine breite Palette an Marketing-Automatisierungsfunktionen bietet.

Jedes dieser Tools bietet unterschiedliche Funktionen und Vorteile, aber welches passt am besten zu den Anforderungen moderner Systeme?

Crossplane Tutorial 21 Dez

Geschrieben von Thomas Kruse am 21. Dezember 2023
Kubernetes

Im DevOps Kontext haben sich über die Zeit verschiedene Werkzeuge entwickelt:
Waren Puppet und Chef noch frühe Vertreter mit unterschiedlichen Paradigmen (deklarativ vs. imperativ) verwendeten doch beide einen Agent. Ansible setzte sich weitgehend als imperative Lösung ohne Agent für die Provisionierung von Systemen durch, während Terraform als Infrastruktur- und Cloudwerkzeug de-factor Standard wurde.
Sowohl Ansible als auch Puppet setzen auf eine Konfiguration, die nahe an typischen Datenformaten von APIs sind (YAML bzw. JSON).

In diesem Beitrag soll es um ein neuartiges Werkzeug gehen, dass den deklarativen Ansatz verfolgt, jedoch die Kubernetes API als Schnittstelle verwendet. Crossplane geht damit einen spannenden Weg und erlaubt es, bestehende Verfahren zur Authentifizierung und Autorisierung weiter zu nutzen und sich dank zahlreicher Kubernetes Libraries auch einfach an eigene oder bestehende Anwendungen zu integrieren. Dies ermöglicht eine konsistente Verwaltung von (Cloud-)Ressourcen und Kubernetes-Workloads. Crossplane bietet somit eine engere Integration zwischen Anwendungen und Infrastruktur, was die Automatisierung und das Management vereinfacht.

Dies wird dank der erweiterbaren API von Kubernetes möglch: Alle Crossplane Ressourcen sind Custom Resource Definitions (CRDs) in Kubernetes. Die Erweiterung von Crossplane ist durch die erweiterbare API von Kubernetes ebenfalls gegeben, so können sogenannte Provider nachgerüstet werden. Dazu können vorhandene Kubernetes Konzepte wie ConfigMaps oder Secrets verwendet werden.

Aus diesem Ansatz ergeben sich folgende Vorteile von Crossplane:

  1. Infrastrukturverwaltung kann durch kubectl erfolgen

  2. Auf der Kubernetes API aufsetzende Werkzeuge, wie ArgoCD oder Flux, können nahtlos eingesetzt werden

  3. Durch die grundsätzlich Abstraktion wird die Unterstützung unterschiedlichster Zielinfrastruktur vereinfacht

  4. Eigene Anbindungen - sogenannte Provider - können auf einfache Weise entwickelt werden

  5. Durch die Verwendung von Kubernetes Standards kann Crossplane auf beliebigen Kubernetes basierten Clustern betrieben werden

  6. Durch den deklarativen Ansatz kann Crossplane die von Kubernetes bekannten Self-Healing-Eigenschaften bieten

Crossplane benötigt jedoch einen Kubernetes API Server als Basisinfrastruktur. Im folgenden schauen wir uns die Installation und Verwendung von Crossplane genauer an.

Los geht's!

Bitte teilen Sie uns mit, wie wir Sie am besten erreichen können.