iX 3/2024
S. 140
Praxis
Tools und Tipps

Telepresence: Hot Reloading für Kubernetes

Telepresence verbindet lokale Entwicklerrechner über einen Zwei-Wege-Proxy-Mechanismus mit einem Kubernetes-Cluster. Das verkürzt Feedbackzyklen, da das wiederholte Neuverpacken und Deployen des Codes entfällt.

Von Dominik Kress

Shift Left und Fast Feedback Loops sind zentrale Begriffe in der DevOps-Bewegung. Entwicklerinnen und Entwickler sollen nicht nur für ihre Codebasis, sondern auch für den reibungslosen Ablauf der Bereitstellungsprozesse verantwortlich sein, um schnellere Feedbackschleifen zu ermöglichen. Ideal wäre also, wenn der Code während der Entwicklung direkt in einer Kubernetes-Umgebung getestet wird, die der produktiven Umgebung entspricht. Allerdings kostet eine solche Testumgebung viel Geld und das ständige Neuverpacken und Deployen in die Cloud-Umgebung kann sehr zeitintensiv sein.

Hier setzt Telepresence an, indem es als eine Art Hot Reloader für eigene Apps in einem spezifischen Kubernetes-Cluster fungiert. Das Tool besteht aus zwei Komponenten: einer Kombination aus Traffic-Manager und Traffic-Agent im Kubernetes-Cluster und einem lokal installierten CLI, das sich mit dem Traffic-Manager im Cluster verbindet (siehe Abbildung). Der Traffic-Manager fängt den Service im Cluster ab und leitet den Traffic nicht direkt zum Pod, sondern zur eigenen lokalen Maschine um. Dabei werden die Umgebungsvariablen aus dem Pod lokal kopiert, um die lokale Maschine nah an der späteren Remote-Umgebung zu halten. Auf diese Weise können Entwickler ihre App lokal weiterentwickeln, mit den Umgebungsvariablen aus dem Pod bereitstellen und sie dann über den Service des Kubernetes-Clusters direkt im Browser testen.

Kommentieren