Neuigkeiten von trion.
Immer gut informiert.

Artikel in der Kategorie 'docker'

Automatisierte Bildschirmaufnahmen in CI/CD-Pipelines: Puppeteer und Playwright im Vergleich 5 Feb

Geschrieben von Leonard Wagner am 5. Februar 2024
puppeteer vs. playwright

Für Product Owner, Entwickler und weitere Stakeholder können Bildschirmaufnahmen hilfreich sein, um schnell und einfach einen Einblick in den Entwicklungsstand einer Webanwendung zu erlagen. In diesem Post berichte ich von meinen Erfahrungen, einen Prozess aufzusetzen, um in einer Build-Pipeline automatisch Videos und Screenshots einer Anwendung aufzunehmen und diese bereitzustellen. Realisiert habe ich dieses Vorhaben sowohl mit Playwright als auch mit Puppeteer.

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.

Multiarch Builds mit Docker Buildx 28 Dez

Geschrieben von Stefan Reuter am 28. Dezember 2023
Docker

Heutzutage ist es wichtiger denn je, dass Anwendungen auf verschiedenen Architekturen und Plattformen reibungslos funktionieren. Man denke z.B. an den erfolgreichen Schwenk von Apple auf die ARM-Plattform und die Kosteneffizienz, die ARM auch...

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.

Container Image Security Scan 2 Feb

Geschrieben von Thomas Kruse am 2. Februar 2023
Docker

Supply Chain Security ist ein wichtiges Thema. Dabei stehen Container Images zunehmend im Fokus, und das auch nicht ganz zu Unrecht: Bei vielen Kunden erleben wir, dass Zulieferer zwar "Docker Image" als Auslieferungsformat vereinbaren, gleichzeitig jedoch keine Updatevereinbarungen jenseits der eigentlichen Software getroffen werden.
Das ist angesichts der bei Docker Images immens vergrößerten Verantwortung - das Basis-Image gehört ja mit zur Auslieferung - zu wenig.
Durch den zunehmenden Einsatz von Kubernetes finden Container Images auch Einzug in Bereichen, die bisher wenig Erfahrung mit Patchmanagement und Security Prozessen haben. Kubernetes selbst sowie der Betrieb der Umsysteme, wie einer Container Registry, stellen für sich dabei oft schon Herausforderungen dar.

Als Nutzer von Images ist ein Weg, wenigstens etwas Übersicht über die als "Blackbox" betrachteten Images und jeweiligen Abhängigkeiten und transitiven Abhängigkeiten zu gewinnen, mit Image Scanning zu arbeiten.

Verwendung PostgreSQL Kubernetes Operator 3 Nov

Geschrieben von Thomas Kruse am 3. November 2022
Kubernetes

Im vorherigen Artikel PostgreSQL in Kubernetes und OpenShift wurden die Grundlagen zum Betrieb von PostgreSQL in Containern und Kubernetes vorgestellt. Als ein Option wurde in diesem Beitrag erklärt, wie PostgreSQL mit Helm in Kubernetes betrieben werden kann.
In diesem Beitrag geh es darum, wie das Kubernetes Operator Konzept den Betrieb erleichtern kann und einige prominente Vertreter von Kubernetes Operators zu vergleichen.

Docker Container unter Windows betreiben 26 Jul

Geschrieben von Christian Bittner am 26. Juli 2022
docker-small

Unsere Docker-Schulungen werden in der letzten Zeit sehr häufig angefragt. Damit ist zumeist Docker unter Linux gemeint, also native Linux-Container auf nativen Linux-Systemen. So weit so klar.

Mit dieser Klarheit ist es allerdings schnell...

Pentests mit Kali und Docker 19 Mai

Geschrieben von Christian Bittner am 19. Mai 2022
Kali

Um sich in das Thema Penetrationstest einzuarbeiten, wird gerne eine Kombination aus der Pentest Linux Distribution Kali und einer mit Sicherheitslücken versehenen virtuellen Maschine (z.B. von vulnhub) verwendet.

Insbesondere im Kontext von...

PostgreSQL mit Helm in Kubernetes betreiben 1 Mär

Geschrieben von Thomas Kruse am 1. März 2022
Helm

Im vorherigen Artikel PostgreSQL in Kubernetes und OpenShift wurden die Grundlagen zum Betrieb von PostgreSQL in Containern und Kubernetes vorgestellt.
Für eine einzelne Umgebung funktioniert das Verfahren soweit ganz gut. Wenn jedoch verschiedene Varianten, z.B. für mehrere Umgebungen, bereitgestellt werden sollen, steigt der Aufwand und auch das Risiko von Configuration Drift. Helm tritt an, um dabei Abhilfe zu schaffen.

Günstiger (Daten-) Strom 6 Feb

Geschrieben von Christian Bittner am 6. Februar 2022
Twitter

Bei unseren Schulungen ist es immer wieder eine interessante Herausforderung, prägnante Übungsaufgaben zu erstellen, die von den Teilnehmer erfolgreich in einer passenden Zeitspanne umgesetzt werden können.

Für Aufgaben im Kontext Stream- ...

Cassandra 4 mit Testcontainers in Spring Boot 1 Feb

Geschrieben von Thomas Kruse am 1. Februar 2022
Cassandra

Cassandra 4 ist ein lang erwartetes Release der Cassandra Datenbank. Dabei hat sich nicht nur einiges in der Datenbank selbst geändert, sondern auch die Java Libraries für den Zugriff haben einige API Änderungen erfahren.
In dem Zuge sind viele andere Projekte aktuell noch nicht soweit, gute Unterstützung für Cassandra 4 zu bieten. Spring Boot bzw. Spring Data Cassandra ist jedoch bereits soweit, dass aktuelle Treiber genutzt werden. Dort stellt sich die Frage, wie das Thema Unit Test bzw. Integrationstest mit Cassandra 4 umgesetzt werden kann.

Spring native im produktiven Einsatz 17 Jan

Geschrieben von Thomas Kruse am 17. Januar 2022
Spring Boot native image

Dank der Java GraalVM in Kombination mit dem Werkzeug native-image lassen sich Java Anwendungen in nativ kompilierte Binaries überführen, die sogar statisch gelinkt sein können. Damit entfällt die Initialisierung der HotSpot VM sowie das Laden und Initialisiern von Klassen.
Eine derartig gebaute Java Anwendung lässt sich in sehr kurzer Zeit starten. Selbst mit umfangreichen Abhängigkeiten wie Thymeleaf und Spring Security kann man hier im Bereich von einer Sekunde den vollständigen Anwendungsstart erwarten.

Dazu kommt ein gut vorhersagbarer Speicherverbrauch zur Laufzeit, der zudem auch geringer ausfällt, als bei der sehr dynamischen HotSpot VM. Der Tradeoff von GraalVM-Native-Anwendungen ist, dass die Peakperformance im Vergleich zu HotSpot geringer ausfällt und Oracle zudem bestimmte Performanceoptimierungen nur in einer kommerziellen Variante anbietet.

Wie verhält sich Spring Boot mit Spring native - derzeit in Version 0.11.1 als beta - in Bezug auf den produktiven Einsatz? Worauf gilt es zu achten und was funktioniert nicht, wie man es erwartet?
Diese Aspekte werden im folgenden betrachtet.

Los geht's!

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