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 in­ter­es­san­ten Blog­bei­trag von Red Hat. Die wich­tigs­ten In­for­ma­tio­nen daraus, haben wir hier für euch zusammengefasst.

Der Bedarf, An­wen­dun­gen schneller und mit besserer Qualität be­reit­zu­stel­len, ist über alle Branchen hinweg weit ver­brei­tet und steigt zunehmend. Damit wächst auch die Nachfrage nach Au­to­ma­ti­sie­rungs­mög­lich­kei­ten der An­wen­dungs­be­reit­stel­lung. OpenShift, die En­ter­pri­se-Ku­ber­netes-Plattform für Ent­wick­ler, bietet Un­ter­neh­men genau diese Mög­lich­kei­ten durch DevOps-Praktiken wie Con­ti­nuous In­te­gra­ti­on und Con­ti­nuous Delivery (CI/CD). Seit einiger Zeit werden dazu die Tools “Tekton” für Pipelines und “ArgoCD” für GitOps ent­wi­ckelt. Mit der aktuellen Version von OpenShift 4.7, sind diese nun als “OpenShift Pipelines” (Tekton) und “OpenShift GitOps” (ArgoCD) als of­fi­zi­el­le und von Red Hat un­ter­stütz­te Produkte verfügbar.

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

OpenShift Pipelines: Cloud-Native Con­ti­nuous Integration

Schauen wir uns zuerst das Produkt OpenShift Pipelines näher an. Mit Tekton ist es nun möglich, Pipelines zur An­wen­dungs­er­stel­lung direkt als Pods im Ku­ber­netes Cluster zu erstellen. Bei­spiels­wei­se kann somit eine Java Ap­pli­ka­ti­on aus dem Git Re­po­si­to­ry erstellt, an­schlie­ßend in einen Container gepackt, als Helm Paket erstellt und zum Schluss getestet werden.

Tekton baut dazu direkt auf Ku­ber­netes Konzepte auf und er­mög­licht es den Teams somit, die Pipelines im Ku­ber­netes Cluster un­ab­hän­gig von zentralen Werk­zeu­gen oder Ser­ve­r­ap­pli­ka­tio­nen wie Jenkins zu betreiben. Damit werden Ent­wick­lern mehr Frei­hei­ten ein­ge­räumt und even­tu­el­le Konflikte bei Pipeline Prozessen vermieden.

OpenShift Pipelines stellt eine Reihe von Templates für vor­ge­fer­tig­te Ab­schnit­te (Tasks) bereit, mit denen der Aufbau einer Pipeline effektiv be­schleu­nigt werden kann. So bietet OpenShift Pipelines vor­ge­fer­tig­te Tasks für Maven, Dotnet, Java, Node.js, Perl, PHP, Python und noch weitere Sprachen, um die Er­stel­lung der Anwendung zu ver­ein­fa­chen. Obendrein bildet der gra­phi­sche Pipeline Builder ein nütz­li­ches Tool bei der Er­stel­lung und Pa­ra­me­tri­sie­rung einer Pipeline für den Entwickler.

Weiterhin gibt es eine Reihe von Client Tools für Tekton. So kann auf der Kom­man­do­zei­le 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 vor­ge­fer­tig­te Tasks bezogen werden.

OpenShift Pipelines enthält aktuell:

  • Pipeline log ag­gre­ga­ti­on im zentralen Log Ma­nage­ment OpenShift Logging
  • Au­to­ma­ti­sche proxy Kon­fi­gu­ra­ti­on bei TaskRuns
  • Ak­ti­vie­rung von TLS für Event­Lis­ten­ers Pods
  • Clus­terT­rig­gerB­in­dings für BitBucket und GitLab
  • Jenkins-to-Tekton Migration Guide
  • Log ag­gre­ga­ti­on im zentralen Log Ma­nage­ment OpenShift Logging
  • In­te­gra­ti­on der Au­then­ti­ca­ti­on mit Red Hat SSO und OpenShift
  • Dy­na­mi­sche Er­stel­lung von Argo CD Ap­pli­ca­ti­ons mit Ap­pli­ca­ti­onS­ets (Tech Preview)
  • Sammlung von Argo CD metrics durch Pro­me­theus aus dem OpenShift Mo­ni­to­ring Stack
  • OutOfSync alerts in OpenShift Mo­ni­to­ring Stack AlertManage

OpenShift GitOps: Con­ti­nuous Delivery mit GitOps

Git gilt in der Soft­ware­ent­wick­lung schon sehr lange als eta­blier­ter Standard für die Ver­sio­nie­rung und Auf­be­wah­rung von Source­code. 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 In­fra­struk­tur und Kon­fi­gu­ra­ti­on als Code in einem oder mehreren Git Re­po­si­to­ries abgelegt. Dadurch können die Stan­dar­di­sie­rung vor­an­ge­trie­ben, Feh­ler­quel­len vermieden und eine Wie­der­hol­bar­keit der In­stal­la­tio­nen ge­währ­leis­tet werden. Im Ku­ber­netes Bereich geschieht das entweder über YAML Dateien oder Helm Pakete.

OpenShift GitOps ist dabei um die Software “ArgoCD” gebaut. Diese de­kla­ra­ti­ve GitOps Engine erlaubt es GitOps Workflows auch über mehrere OpenShift Cluster oder auch andere Ku­ber­netes Cluster be­reit­zu­stel­len. Mit ArgoCD können sowohl au­to­ma­ti­sche als auch manuelle De­ploy­ments kon­fi­gu­riert werden. Bei den au­to­ma­ti­schen De­ploy­ments überwacht ArgoCD das an­ge­ge­be­ne Re­po­si­to­ry und wendet Än­de­run­gen aus dem je­wei­li­gen Branch im Ku­ber­netes Cluster an. Dazu wird immer darauf geachtet, dass die im Git de­fi­nier­ten Objekte auch genau so im Ku­ber­netes Cluster erstellt sind. Das hat den Vorteil, dass dadurch un­aut­ho­ri­sier­te oder un­er­wünsch­te manuelle Än­de­run­gen der Objekte ver­hin­dert werden. ArgoCD selbst kann dabei über ein eigenes RBAC Konzept gesteuert werden.

OpenShift GitOps enthält aktuell:

  • Log ag­gre­ga­ti­on im zentralen Log Ma­nage­ment OpenShift Logging
  • In­te­gra­ti­on der Au­then­ti­ca­ti­on mit Red Hat SSO und OpenShift
  • Dy­na­mi­sche Er­stel­lung von Argo CD Ap­pli­ca­ti­ons mit Ap­pli­ca­ti­onS­ets (Tech Preview)
  • Sammlung von Argo CD Metriken durch Pro­me­theus aus dem OpenShift mo­ni­to­ring stack
  • OutOfSync alerts in OpenShift mo­ni­to­ring stack AlertManager

Unser Fazit

Auch wenn es im ersten Moment ein wenig komplex wirkt, über­zeu­gen die vor­ge­stell­ten Neue­run­gen den Profi mit einer Reihe von Vorteilen. 

Mit einem auf Tekton und ArgoCD aus­ge­leg­ten Ent­wick­lungs- und De­ploy­ment­pro­zess, kann die Ge­schwin­dig­keit der Releases nochmals deutlich erhöht  werden, wobei gleich­zei­tig die Feh­ler­an­fäl­lig­keit ver­rin­gert wird. Durch die Spei­che­rung aller not­wen­di­gen Kon­fi­gu­ra­tio­nen in einem Git Re­po­si­to­ry, fällt hier  die Wie­der­hol­bar­keit deutlich leichter und auch eine Do­ku­men­ta­ti­on ist zukünftig einfacher erstellt.

Alle, die sich mit Con­tai­nern und Ku­ber­netes be­schäf­ti­gen, sollten sich unbedingt beide Tools anschauen.

Hier findest du weitere Posts zu den Themen Red Hat OpenShift oder Ku­ber­netes.
icon-arrow_right_medium-violet-blue.svg

Share this article

Facebook 
Twitter 
LinkedIn 
XING 
WhatsApp 
Email