News zu 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 inter­es­santen Blogbeitrag von Red Hat. Die wichtigsten Informationen daraus, haben wir hier für euch zusammengefasst.

Der Bedarf, Anwendungen schneller und mit besserer Qualität bereit­zu­stellen, 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 entwi­ckelt. 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 unter­stützte Produkte verfügbar.

Blog-OpenShift-Pipelines-GitOps-GA-Announcement-Apr-28-2021-03-43-43-73-PM.png

OpenShift Pipelines: Cloud-Native Continuous Integration

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ög­licht 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 einge­räumt und eventuelle Konflikte bei Pipeline Prozessen vermieden.

OpenShift Pipelines stellt eine Reihe von Templates für vorge­fer­tigte Abschnitte (Tasks) bereit, mit denen der Aufbau einer Pipeline effektiv beschleunigt werden kann. So bietet OpenShift Pipelines vorge­fer­tigte Tasks für Maven, Dotnet, Java, Node.js, Perl, PHP, Python und noch weitere Sprachen, um die Erstellung der Anwendung zu verein­fachen. 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 vorge­fer­tigte Tasks bezogen werden.

OpenShift Pipelines enthält aktuell:

  • Pipeline log aggre­gation im zentralen Log Management OpenShift Logging
  • Automatische proxy Konfiguration bei TaskRuns
  • Aktivierung von TLS für EventListeners Pods
  • ClusterTriggerBindings für BitBucket und GitLab
  • Jenkins-to-Tekton Migration Guide
  • Log aggre­gation im zentralen Log Management OpenShift Logging
  • Integration der Authentication mit Red Hat SSO und OpenShift
  • Dynamische Erstellung von Argo CD Applications mit ApplicationSets (Tech Preview)
  • Sammlung von Argo CD metrics durch Prometheus aus dem OpenShift Monitoring Stack
  • OutOfSync alerts in OpenShift Monitoring Stack AlertManage

OpenShift GitOps: Continuous Delivery mit GitOps

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 voran­ge­trieben, Fehlerquellen vermieden und eine Wiederholbarkeit der Installationen gewähr­leistet werden. Im Kubernetes Bereich geschieht das entweder über YAML Dateien oder Helm Pakete.

OpenShift GitOps ist dabei um die Software “ArgoCD” gebaut. Diese dekla­rative GitOps Engine erlaubt es GitOps Workflows auch über mehrere OpenShift Cluster oder auch andere Kubernetes Cluster bereit­zu­stellen. Mit ArgoCD können sowohl automa­tische als auch manuelle Deployments konfi­gu­riert werden. Bei den automa­ti­schen Deployments überwacht ArgoCD das angegebene Repository und wendet Änderungen aus dem jewei­ligen 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 unaut­ho­ri­sierte oder unerwünschte manuelle Änderungen der Objekte verhindert werden. ArgoCD selbst kann dabei über ein eigenes RBAC Konzept gesteuert werden.

OpenShift GitOps enthält aktuell:

  • Log aggre­gation im zentralen Log Management OpenShift Logging
  • Integration der Authentication mit Red Hat SSO und OpenShift
  • Dynamische Erstellung von Argo CD Applications mit ApplicationSets (Tech Preview)
  • Sammlung von Argo CD Metriken durch Prometheus aus dem OpenShift monitoring stack
  • OutOfSync alerts in OpenShift monitoring stack AlertManager

Unser Fazit

Auch wenn es im ersten Moment ein wenig komplex wirkt, überzeugen die vorge­stellten Neuerungen den Profi mit einer Reihe von Vorteilen. 

Mit einem auf Tekton und ArgoCD ausge­legten Entwicklungs- und Deploymentprozess, kann die Geschwindigkeit der Releases nochmals deutlich erhöht  werden, wobei gleich­zeitig die Fehleranfälligkeit verringert wird. Durch die Speicherung aller notwen­digen 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äf­tigen, sollten sich unbedingt beide Tools anschauen.

Hier findest du weitere Posts zu den Themen Red Hat OpenShift oder Kubernetes.
icon-arrow_right_medium-violet-blue.svg

Share this article

Share on facebook
Facebook 
Share on twitter
Twitter 
Share on linkedin
LinkedIn 
Share on xing
XING 
Share on whatsapp
WhatsApp 
Share on email
Email