Home → Tech Portfolio → OpenShift Pipelines und OpenShift GitOps generell verfügbar
In unseren heutigen News werfen wir einen Blick auf OpenShift Pipelines und OpenShift GitOps. Dazu gab es kürzlich einen interessanten Blogbeitrag von Red Hat. Die wichtigsten Informationen daraus, haben wir hier für euch zusammengefasst.
Der Bedarf, Anwendungen schneller und mit besserer Qualität bereitzustellen, ist über alle Branchen hinweg weit verbreitet und steigt zunehmend. Damit wächst auch die Nachfrage nach Automatisierungsmöglichkeiten der Anwendungsbereitstellung. OpenShift, die Enterprise-Kubernetes-Plattform für Entwickler, bietet Unternehmen genau diese Möglichkeiten durch DevOps-Praktiken wie Continuous Integration und Continuous Delivery (CI/CD). Seit einiger Zeit werden dazu die Tools “Tekton” für Pipelines und “ArgoCD” für GitOps entwickelt. Mit der aktuellen Version von OpenShift 4.7, sind diese nun als “OpenShift Pipelines” (Tekton) und “OpenShift GitOps” (ArgoCD) als offizielle und von Red Hat unterstützte Produkte verfügbar.
Schauen wir uns zuerst das Produkt OpenShift Pipelines näher an. Mit Tekton ist es nun möglich, Pipelines zur Anwendungserstellung direkt als Pods im Kubernetes Cluster zu erstellen. Beispielsweise kann somit eine Java Applikation aus dem Git Repository erstellt, anschließend in einen Container gepackt, als Helm Paket erstellt und zum Schluss getestet werden.
Tekton baut dazu direkt auf Kubernetes Konzepte auf und ermöglicht es den Teams somit, die Pipelines im Kubernetes Cluster unabhängig von zentralen Werkzeugen oder Serverapplikationen wie Jenkins zu betreiben. Damit werden Entwicklern mehr Freiheiten eingeräumt und eventuelle Konflikte bei Pipeline Prozessen vermieden.
OpenShift Pipelines stellt eine Reihe von Templates für vorgefertigte Abschnitte (Tasks) bereit, mit denen der Aufbau einer Pipeline effektiv beschleunigt werden kann. So bietet OpenShift Pipelines vorgefertigte Tasks für Maven, Dotnet, Java, Node.js, Perl, PHP, Python und noch weitere Sprachen, um die Erstellung der Anwendung zu vereinfachen. Obendrein bildet der graphische Pipeline Builder ein nützliches Tool bei der Erstellung und Parametrisierung einer Pipeline für den Entwickler.
Weiterhin gibt es eine Reihe von Client Tools für Tekton. So kann auf der Kommandozeile die Tekton-CLI genutzt werden. Für Visual Studio Code und IntelliJ gibt es jeweils ein Tekton Plugin.
Über den Tekton Hub können weitere vorgefertigte Tasks bezogen werden.
Git gilt in der Softwareentwicklung schon sehr lange als etablierter Standard für die Versionierung und Aufbewahrung von Sourcecode. Mit GitOps wird dieses Konzept noch weiter gedacht. Die Benefits, die sich hieraus ergeben, schauen wir uns im Folgenden an.
Mit OpenShift GitOps wird jegliche Infrastruktur und Konfiguration als Code in einem oder mehreren Git Repositories abgelegt. Dadurch können die Standardisierung vorangetrieben, Fehlerquellen vermieden und eine Wiederholbarkeit der Installationen gewährleistet werden. Im Kubernetes Bereich geschieht das entweder über YAML Dateien oder Helm Pakete.
OpenShift GitOps ist dabei um die Software “ArgoCD” gebaut. Diese deklarative GitOps Engine erlaubt es GitOps Workflows auch über mehrere OpenShift Cluster oder auch andere Kubernetes Cluster bereitzustellen. Mit ArgoCD können sowohl automatische als auch manuelle Deployments konfiguriert werden. Bei den automatischen Deployments überwacht ArgoCD das angegebene Repository und wendet Änderungen aus dem jeweiligen Branch im Kubernetes Cluster an. Dazu wird immer darauf geachtet, dass die im Git definierten Objekte auch genau so im Kubernetes Cluster erstellt sind. Das hat den Vorteil, dass dadurch unauthorisierte oder unerwünschte manuelle Änderungen der Objekte verhindert werden. ArgoCD selbst kann dabei über ein eigenes RBAC Konzept gesteuert werden.
Auch wenn es im ersten Moment ein wenig komplex wirkt, überzeugen die vorgestellten Neuerungen den Profi mit einer Reihe von Vorteilen.
Mit einem auf Tekton und ArgoCD ausgelegten Entwicklungs- und Deploymentprozess, kann die Geschwindigkeit der Releases nochmals deutlich erhöht werden, wobei gleichzeitig die Fehleranfälligkeit verringert wird. Durch die Speicherung aller notwendigen Konfigurationen in einem Git Repository, fällt hier die Wiederholbarkeit deutlich leichter und auch eine Dokumentation ist zukünftig einfacher erstellt.
Alle, die sich mit Containern und Kubernetes beschäftigen, sollten sich unbedingt beide Tools anschauen.
Share this article