News zu Tech Portfolio

Suse Rancher/RKE vs. Red Hat OpenShift

Aus­gangs­la­ge

Wir ver­glei­chen die zwei größten Ku­ber­netes Dis­tri­bu­tio­nen am Markt hin­sicht­lich der Faktoren Support, Security, In­stal­la­ti­on, Li­zen­zie­rung, Updates/Upgrades, Part­ner­un­ter­stüt­zung und Einhalten der Standards der CNCF.

Red Hat OpenShift, wir be­trach­ten aus­schließ­lich Version 4.X, kommt als All-in-One Lösung und bietet sowohl die Ku­ber­netes Engine, als auch alle Ma­nage­ment Tools (Web Console, CLI, Um­fang­rei­che Developer Tools) im Gesamtpaket. 

SUSE Rancher ist hingegen zunächst einmal eine Ma­nage­ment Platform für ver­schie­de­ne Ku­ber­netes Dis­tri­bu­tio­nen. D.h. Rancher wird entweder außerhalb oder innerhalb einer be­stehen­den Ku­ber­netes Cluster Umgebung in­stal­liert und kann sich dann an diesen Cluster anknüpfen und diesen verwalten. Weiterhin können mit Rancher auch weitere Ku­ber­netes Cluster in­stal­liert werden, wenn der In­fra­struk­tur­anbie­ter un­ter­stützt wird (vSphere, AWS, …).

Damit der Vergleich gelingt, wird eine Red Hat OpenShift Container Platform als UPI (User-pro­vi­sio­ned in­fra­struc­tu­re) und eine SUSE Rancher In­stal­la­ti­on auf einem SUSE RKE Cluster (Rancher Ku­ber­netes Engine) ver­gli­chen. RKE ist die Ku­ber­netes Engine für den Cluster, den die Rancher In­stal­la­ti­on verwalten wird.

Laut dem Forrester Wave Report 2020, liegt Red Hat OpenShift sowohl in der Strategie, als auch im aktuellen Angebot vor allen anderen Anbietern, inklusive SUSE Rancher.

In­stal­la­ti­ons­auf­wand

Die In­stal­la­ti­on eines pro­duk­ti­ven Ku­ber­netes Cluster im eigenen Re­chen­zen­trum ist immer mit einigen Aufwand Verbunden. Wir rechnen für den Vergleich der beiden Lösungen die Vor­be­rei­tung und Anbindung der Res­sour­cen wie Netzwerk, Storage und Au­then­ti­ca­ti­on nicht mit in den Vergleich ein. Be­trach­tet wird die In­stal­la­ti­on eines 6 Knoten Cluster, bei dem 3 Knoten als Master und 3 Knoten als Worker kon­fi­gu­riert sind.

Red Hat OpenShift

OpenShift bietet, je nach dem auf welche Plattform in­stal­liert werden soll, ver­schie­de­ne Mög­lich­kei­ten des De­ploy­ments an. Um einen Vergleich zu er­mög­li­chen, wird hier die Bare Metal “UPI” (User Provided In­fra­struc­tu­re) betrachtet. 

Für die In­stal­la­ti­on wird eine Bootstrap Maschine benötigt, auf der eine beliebige Linux Dis­tri­bu­ti­on, vor­zugs­wei­se aber ein Derivat von Red Hat En­ter­pri­se Linux, aus­ge­führt werden kann.

Die In­stal­la­ti­on geschieht dann über einen TFTP und DHCP Me­cha­nis­mus, mit vor­be­rei­te­ten Ignition Files. Die gesamte Red Hat OpenShift In­stal­la­ti­on basiert auf Red Hat En­ter­pri­se Linux CoreOS (RHCOS) Maschinen, die zentral vom OpenShift System verwaltet werden. Es ist nicht gedacht oder gewünscht, sich direkt auf die Red Hat CoreOS Maschinen zu verbinden, außer für Trou­ble­shoo­ting Ak­ti­vi­tä­ten. Die Maschinen werden über zentrale Ma­chine­Con­figs im OpenShift Cluster gesteuert und konfiguriert.

Bei einer UPI In­stal­la­ti­on müssen folgende Punkte vor­be­rei­tet sein:

  • Virtuelle oder Physische Maschinen erstellt (nicht installiert)
  • Load­ba­lan­cer für API Adressen, etc. konfiguriert
  • DNS kon­fi­gu­riert
  • Netz­werk­ver­bin­dun­gen bestehen

Wenn die Vor­be­rei­tun­gen voll­stän­dig sind, kann die In­stal­la­ti­on innerhalb weniger Stunden (2–3) durch­ge­führt werden.

Suse Rancher

Da Rancher an sich nur eine Ver­wal­tungs­soft­ware für Ku­ber­netes Cluster ist, muss diese auf einer In­fra­struk­tur (Docker, virtuelle Maschine, K3S, Ku­ber­netes Cluster) in­stal­liert werden. Für unser Beispiel wird vor der ei­gent­li­chen Rancher In­stal­la­ti­on also ein Ku­ber­netes Cluster mit “RKE” in­stal­liert. Da RKE ebenfalls von SUSE bzw. von Rancher stammt, ist dies die be­vor­zug­te Ku­ber­netes Engine für Rancher.

Um RKE in­stal­lie­ren zu können, müssen die ent­spre­chen­den Knoten als Hardware oder virtuelle Maschinen mit einem un­ter­stütz­ten Linux Be­triebs­sys­tem in­stal­liert sein. Dies kann, wenn Au­to­ma­ti­sie­rungs­tools wie Kickstart Dateien und Ansible genutzt werden, innerhalb 1–2 Stunden erledigt sein. Bei  manueller In­stal­la­ti­on und Kon­fi­gu­ra­ti­on der Knoten, kann dies 3–6 Stunden in Anspruch nehmen. Un­ter­stütz­te Be­triebs­sys­te­me für RKE sind:

  • SUSE Linux En­ter­pri­se Server
  • openSUSE
  • Red Hat En­ter­pri­se Linux
  • Oracle En­ter­pri­se Linux
  • CentOS
  • Ubuntu

Upgrade

Ku­ber­netes ist ein Soft­ware­pro­dukt mit häufigen Release Zyklen und mit einer Vielzahl an Kom­po­nen­ten die zu­sam­men­spie­len müssen. Dadurch ist es für Anbieter eine Her­aus­for­de­rung, sowohl eine stabil funk­tio­nie­ren­de Dis­tri­bu­ti­on, als auch aktuelle Software Versionen anzubieten.

Red Hat Openshift 

Red Hat ver­öf­fent­licht etwa alle 3 Monate eine neue Haupt­ver­si­on der OpenShift Container Platform (OCP). Aktuell ist 4.8 (Release Datum am 27.07.2021). Die Updates lassen sich bequem über die Web Konsole oder das Com­mandli­ne Interface “oc” einspielen.

Hier genügt ein 

oc adm upgrade --to=4.7.19

um auf die ge­wünsch­te Version zu ak­tua­li­sie­ren. Soll ein Upgrade auf die nächste Major Version (4.7 → 4.8) geschehen, muss vorher der aktuelle Channel ge­wech­selt werden (von stable‑4.7 auf stable‑4.8).

! Up­grade­pfad

Nicht jede Version kann zu jeder Version ak­tua­li­siert werden. Um die korrekte Ziel­ver­si­on von der aktuell in­stal­lier­ten Version zu ermitteln, bietet Red Hat ent­spre­chen­de Tools an. Die ein­fachs­te Mög­lich­keit ist der Update Graph:

Ein Upgrade kann, je nachdem wie viele Knoten in­stal­liert sind, von mehreren Stunden bis zu einigen Tagen andauern.

Suse Rancher / RKE

Ein Upgrade per Rancher RKE ist recht simpel. In der vor­lie­gen­den “cluster.yml” Datei, muss die Ku­ber­netes Version angepasst werden (kubernetes_version: “v1.20.9‑rancher1‑1”). 

Danach kann mit 

rke up --config cluster.yml

das Update an­ge­sto­ßen werden.

Je nach Knoten Anzahl kann das Update mehrere Stunden in Anspruch nehmen, ist aber in der Regel deutlich schneller fertig im Vergleich zu OpenShift.

Continous In­te­gra­ti­on / Continous Deployment

Ein Kern Feature der Container basierten Software ist es, dass die In­te­gra­ti­on in CI/CD und GitOps sehr gut möglich und sinnvoll ist. Dies be­schleu­nigt die Ent­wick­lungs- und Up­date­zy­klen und vermeidet in­di­vi­du­el­le Fehler durch Standardisierung.

OpenShift Pipelines GitOps GA Announcement

Red Hat Openshift 

Aus der Sicht­wei­se eine Software Ent­wick­lers hat Ku­ber­netes an sich einige Vorteile, die in diesem Artikel nicht intensiv dar­ge­stellt werden sollen. Im direkten Vergleich der beiden Lösungen, hat Red Hat OpenShift die Nase vorn, wenn es um das Toolset für Ent­wick­ler Out-of-the-Box geht. Leider geht Red Hat an der ein oder anderen Stelle (S2I und Red Hat Mar­ket­place mit Operators) einen eigenen Weg, ab von dem in der Community eta­blier­ten Me­cha­nis­men (Do­cker­files, Helm Charts), welche aber ebenfalls ohne Ein­schrän­kun­gen in OpenShift genutzt werden können.

Gerade im Bereich des sich eta­blie­ren­den “GitOps” Modells des De­ploy­ments, hat Red Hat die Open­So­ur­ce Lösungen “ArgoCD” und “Tekton” als “OpenShift GitOps” und “OpenShift Pipelines” offiziell in die Dis­tri­bu­ti­on ab Version 4.7 auf­ge­nom­men. Damit kann aus Ent­wick­ler und Ad­mi­nis­tra­tor Sicht eine schnelle und saubere De­ploy­ment Strategie aufgebaut werden.

Suse Rancher / RKE

Rancher bietet mit dem neuen “Con­ti­nuous Delivery” Tool ebenfalls ein nütz­li­ches GitOps Tool Out-of-the-Box. Damit können Res­sour­cen aus Git Re­po­si­to­ries in de­fi­nier­ten Name­spaces deployed werden. Ebenfalls können im Rancher ver­wal­te­ten Ku­ber­netes Cluster auch “ArgoCD” und “Tekton” mit wenig Aufwand in­stal­liert und verwendet werden.

Support

Ein wichtiger Punkt für den Einsatz in En­ter­pri­se Um­ge­bun­gen ist der ver­füg­ba­re Support durch Her­stel­ler und Partner. Gerade bei Platt­for­men, die recht häufig neue Software Releases ver­öf­fent­li­chen, können mögliche Probleme mit kom­pe­ten­ten Partnern und einem guten Her­stel­ler Support schnell gelöst werden.

Red Hat Openshift 

Der Her­stel­ler­sup­port von Red Hat genießt einen sehr guten Ruf und glänzt durch einen sehr hohe Expertise für die an­ge­bo­te­nen Produkte. Im Pro­blem­fall wird schnell geholfen, sodass Un­ter­bre­chun­gen minimiert werden können.

Einen Hauptteil des Support decken al­ler­dings sehr gut qua­li­fi­zier­te Partner, wie die ASPICON GmbH, für die Endkunden ab. Hier kann eine Betreuung ab der Planung bis zum Betrieb hin angeboten werden.

Suse Rancher / RKE

Der Her­stel­ler­sup­port umfasst hier, neben den Kern­pro­duk­ten Rancher und RKE auch das Ku­ber­netes Kern­sys­tem. Auch SUSE baut die Part­ner­land­schaft stra­te­gisch aus und qua­li­fi­ziert die Partner für den um­fas­sen­den Support der Rancher Umgebungen.

Li­zen­zie­rung

Ein wichtiger Punkt für den Einsatz in En­ter­pri­se Um­ge­bun­gen ist der ver­füg­ba­re Support durch Her­stel­ler und Partner. Gerade bei Platt­for­men, die recht häufig neue Software Releases ver­öf­fent­li­chen, können mögliche Probleme mit kom­pe­ten­ten Partnern und einem guten Her­stel­ler Support schnell gelöst werden.

Red Hat Openshift 

Die OCP Plattform berechnet die Support Kosten pro zu­ge­wie­se­ner CPU auf den Worker Knoten. Die CPUs der Master werden dabei nicht betrachtet.

Suse Rancher / RKE

Die Sup­port­ge­bühr berechnet sich hierbei nach der Nummer der Knoten. Die in­stal­lier­ten CPUs oder vCPUs werden dabei nicht betrachtet.

Windows Container

Für eine mögliche Migration hin zu Container basierten Ap­pli­ka­tio­nen, sind auch Windows native Container ein wichtiger Baustein. Vor allem, wenn Software auf Basis von älteren .NET Frame­works ge­schrie­ben ist, kann diese mit Hilfe von Windows Con­tai­nern auf einen Ku­ber­netes Cluster migriert werden. Um Windows Container im Ku­ber­netes Cluster betreiben zu können, müssen ent­spre­chen­de Windows Server als Worker Knoten dem Cluster hin­zu­ge­fügt werden.

Red Hat Openshift 

Ab Version 4.6 Un­ter­stützt die OpenShift Container Platform den Betrieb von Windows Servern als Worker Knoten im Cluster. Bedingung ist hierbei, dass die Installer Provided In­fra­struc­tu­re Methode für die In­stal­la­ti­on des OCP Clusters gewählt wurde. Die User Provided In­fra­struc­tu­re wird nicht unterstützt.

Somit können Windows Server Knoten bei­spiels­wei­se in der Amazon AWS, Microsoft Azure oder auch im eigenen Re­chen­zen­trum auf einem VMware vSphere Cluster in­stal­liert und betrieben werden.

Suse Rancher / RKE

Auch mit Rancher lassen sich Windows Server als Ku­ber­netes Worker Knoten betreiben. Dafür muss der Cluster bei der Er­stel­lung für Windows Support aktiviert werden. Die Master, bzw. Con­trol­pla­ne Knoten müssen dabei, wie im OCP Cluster, mit einem Linux Be­triebs­sys­tem betrieben werden. Die Container Engine auf den Windows Server Knoten muss dabei eine Docker En­ter­pri­se Edition sein.

Si­cher­heit

Wenn An­wen­dun­gen als Container be­reit­ge­stellt werden, erhöht sich zunächst einmal die Kom­ple­xi­tät im Ge­samt­kon­strukt, da hier mehrere Kom­po­nen­ten zu­sam­men­spie­len müssen. Das kann leicht dazu führen, dass Si­cher­heits­aspek­te außer Augen gelassen werden, oder einfach nicht mehr im Fokus stehen. Die Her­stel­ler bieten ver­schie­de­ne Mög­lich­kei­ten diese Themen zu adressieren.

Red Hat Openshift 

Im OCP Cluster gibt es Out-of-the-Box mehrere Features, die die Si­cher­heit im Cluster erhöhen. Das sind bei­spiels­wei­se “Security Context Cons­traints”, die ver­hin­dern, dass sich Container per default als “root” oder im erhöhten Rechten starten können. Weiterhin ist RBAC per default aktiviert und steuert den Zugriff per Ro­leB­in­dings im Cluster. Im OpenShift gibt es weiterhin die Mög­lich­keit Groups anzulegen, denen User zu­ge­wie­sen und die wiederum in Ro­leB­in­dings re­fe­ren­ziert werden. Jedes neue Projekt bekommt einen Bereich von User- und GroupIDs zu­ge­wie­sen, die in den je­wei­li­gen Pods verwendet werden sollten. Auch der Einsatz von Net­work­Po­li­ci­es ist eine Option, die die Si­cher­heit im Cluster erhöht.

Suse Rancher

Auch bei Suse Rancher wird RBAC au­to­ma­tisch im Cluster aktiviert. Die User können über Identity Provider (wie auch im OpenShift) gesteuert werden, so dass eine Anmeldung über Active Directory möglich ist. Rancher bietet darüber hinaus die Mög­lich­keit, die User Ver­wal­tung über mehrere Cluster an einem zentralen Punkt zu steuern.

Darüber hin­aus­ge­hen­de Ein­schrän­kun­gen für Pods, bspw. im Bezug auf Security Contexte, sind nicht per default aktiviert, können aber im Rahmen der Un­ter­stüt­zung der Ku­ber­netes Engine, nach­kon­fi­gu­riert werden.

Fazit

Ein ein­deu­ti­ger Sieger kann im Vergleich nicht aus­ge­macht werden. Generell sollte im En­ter­pri­se Bereich eher auf Red Hat OpenShift gesetzt werden, da die Partner- und Her­stel­ler­sup­port­leis­tung zum aktuellen Zeitpunkt etwas um­fang­rei­cher ist. Zudem ist Red Hat OpenShift auf große Um­ge­bun­gen und Ska­lie­run­gen ausgelegt.

Wenn ein be­stimm­ter Teil der Ap­pli­ka­tio­nen in einem kürzeren Zeitraum in einer be­stehen­den In­fra­struk­tur be­reit­ge­stellt werden soll, ist Suse Rancher wohl die bessere Wahl. Auch ist der Mi­gra­ti­ons­auf­wand im Vergleich zu OpenShift nicht ganz so hoch, da viele Si­cher­heits­fea­tures, die Red Hat bei OpenShift ein­ge­führt hat, nicht vorhanden sind. Daher ist dies näher an den Ku­ber­netes In­stal­la­tio­nen der Public Cloud Provider, bietet aber nicht die Si­cher­heit wie ein OpenShift Cluster.

In­ter­es­siert? Hier gibt es weitere Posts zum Thema Ku­ber­netes, OpenShift oder Rancher .

icon-arrow_right_medium-violet-blue.svg

Share this article

Facebook 
Twitter 
LinkedIn 
XING 
WhatsApp 
Email