Geschrieben von Thomas Kruse
am 20. März 2019
Auf der "JavaLand" Konferenz in Brühl präsentierte Thomas Kruse Architekturvarianten für Microservices.
Für den Vortrag wurden die Erfahrungen aus verschiedenen Projekten in einem zeitlichen und technologischen Kontext eingeordnet und liefern damit Entscheidungshilfen für Architekten, die sich mit dem Thema Frontend im Microservice Kontext befassen.
Dank aktueller Entwicklungen eignen sich inzwischen Webcomponents für bestimmte Aufgabenstellungen und wurden mit einem Beispiel auf Basis von Angular Elements praktisch demonstriert.
Geschrieben von Thomas Kruse
am 23. Februar 2019
In dem Beitrag zu Kubernetes Continuous Integration wurde am Beispiel von Drone CI gezeigt, wie Builds in einem Kubernetes Cluster umgesetzt werden können.
Nun ist es oft der Wunsch von Kunden wie Entwicklern, möglichst schnell auf den aktuellen Stand auch zugreifen zu können.
Dies Verfahren wird auch Continuous Deployment genannt, da stets der aktuelle Entwicklungsstand zur Nutzung bereit steht.
Dieser Beitrag zeigt daher auf, wie mit Kubernetes und Drone ein solches Deployment umgesetzt werden könnte.
Damit das Setup nicht zu komplex wird, wird lediglich der aktuelle master-Branch in Kubernetes deployt.
Geschrieben von Thomas Kruse
am 3. Februar 2019
Im vorherigen Beitrag wurde erklärt, wie die Kubernetes Certificate Authority über die Kubernetes API angesprochen werden kann.
Innerhalb des Kubernetes Clusters wird über die CA eine Vertrauensbeziehung etabliert - doch wie sieht es mit externen Zugriffen aus?
Nicht alles geschieht rein innerhalb des Clusters.
Ein offensichtliches Beispiel ist der Betrieb einer (Docker) Container Registry innerhalb von Kubernetes.
Das grundsätzliche Setup wurde in dem Beitrag Docker Registry in Kubernetes erläutert.
Da die Registry von der jeweiligen Container-Runtime angesprochen wird, geschieht dies regelmäßig direkt von einer Node und erfolgt damit nicht durch Kubernetes.
Damit muss die Node über die passenden CA Zertifikate verfügen, sonst erhält man die Fehlermeldung, dass das X509 Zertifikat nicht validiert werden konnte.
Nun geht es also darum, das CA Zertifikat von Kubernetes auf die einzelnen Nodes zu verteilen.
Geschrieben von Thomas Kruse
am 2. Februar 2019
Damit Kaniko mit einer eigenen Registry verwendet werden kann, die TLS Zertifikate von einer eigenen Certificate Authority (CA) verwendet, wird ein eigenes Kaniko Container-Image benötigt.
Wenn darin die passenden Zertifikate enthalten sind, kann Kaniko auf die Registry ohne Probleme zugreifen.
Dieses Beispiel baut auf dem vorherigen Beitrag auf und verwendet daher schon ein spezielles Kaniko Image für ARM Maschinen.
Geschrieben von Thomas Kruse
am 1. Februar 2019
In diesem Beitrag geht es also darum, wie auf Basis eines existierenden Dockerfile
ein Build in Kubernetes durchgeführt werden kann.
Dabei wird der Docker-in-Docker Ansatz gewählt, womit auch bei einer anderen Container-Runtime wie rkt oder CRI-O keine Probleme auftreten.
Geschrieben von Thomas Kruse
am 29. Januar 2019
Zertifikate spielen in einem Kubernetes Cluster eine wichtige Rolle:
Durch Zertifikate wird eine Vertrauensbeziehung ausgedrückt.
Vor allem bei einer statischen Beziehung zwischen Services lässt sich eine Authentifizierung durch TLS Zertifikate sehr effizient ausdrücken.
Kubernetes bringt daher auch typischerweise eine eigene Certificate Authority (CA) mit, die als Trust-Root für alle im Kubernetes Cluster verwendeten Zertifikate dienen kann.
Eine eigene CA kann, je nach verwendeten Verfahren zur Cluster Einrichtung, ebenfalls verwendet werden, oder es können intermediate-CA Zertifikate eingesetzt werden.
Standard ist jedoch dass jeder Kubernetes Cluster über eine eigene CA verfügt.
Wie man mit dieser CA interagieren kann wird in diesem Beitrag erklärt.
Geschrieben von Thomas Kruse
am 26. Januar 2019
In diesem Kubernetes Beitrag geht es darum, eine CI Pipeline auf Kubernetes Infrastruktur aufzusetzen.
Wie bereits in den vorherigen Kubernetes Beiträgen soll auch hier ein Augenmerk auf dem Support der ARM Plattform gelegt werden.
Leider trotz der zunehmenden Verbreitung von ARM im Serverumfeld noch immer nicht selbstverständlich, dass Multi-Arch Images bereitgestellt werden.
Geschrieben von Thomas Kruse
am 4. Januar 2019
Lange Zeit war Spring zusammen mit Spring Boot der Defacto-Standard, wenn es um die Entwicklung von Microservices bei hoher Entwicklerproduktivität ging.
Nun schicken die Entwickler von Grails ein neues Framework ins Rennen: Micronaut.
Das Versprechen von Micronaut:
Aus den Ansätzen von Grails, Spring Boot und Spring zu lernen und ein Framework bereitzustellen, das den Anforderungen von modernen Cloud- und Microserviceumgebungen gewachsen ist.
Aus technischer Sicht sind einige Punkte, wie minimierter Einsatz von Java-Reflection und Proxies, spannend, die für die Verwendung der Substrate VM und Graal relevant sind.
Werfen wir einen Blick auf Micronaut - eine Einführung.