10. Juli 2019

OpenShift vs. Kubernetes

commerce-container-export-379964

Welche Vor- und Nachteile haben Kubernetes und OpenShift? Dieser Frage geht ti&m-Surfer Bernd Leinfelder in seinem aktuellen Blog-Beitrag nach.

Kubernetes, ein ursprünglich von Google gestartetes Projekt, hat sich mittlerweile als Standardprodukt für die Container Orchestrierung im Container-as-a-Service (CaaS)-Umfeld etabliert. Kubernetes ist eine flexibel einsetzbare, weitgehend den Bedürfnissen anpassbare Plattform. OpenShift dagegen bietet zusätzliches Tooling, um das Setup und den Betrieb einer CaaS-Plattform zu vereinfachen und Build Prozesse zu automatisieren.

Einige der wichtigsten Unterschiede sind im Folgenden dargestellt.

 

Produkt vs. Projekt

OpenShift ist in erster Linie eine Kubernetes Distribution, die von Red Hat als Produkt vertrieben wird. Als Analogie mag hier der Linux Kernel dienen: So wie Linux Distributionen aus einem Kernel ein nutzbares Betriebssystem machen, das einfach als Ganzes installiert werden kann, macht OpenShift aus Kubernetes eine out of the box nutzbare integrierte Container Plattform.

Als von Red Hat vertriebenes Produkt ist für OpenShift Herstellersupport erhältlich. Wer keinen Wert auf den Herstellersupport legt, kann aber mit OKD (früher OpenShift Origin) auch eine Community Edition nutzen, die die meisten Komponenten von OpenShift Enterprise inkludiert.

 

Plattformsupport

Einen signifikanten Unterschied gibt es in den unterstützten Plattformen. Während Kubernetes auf praktisch allen Systemen, inklusive MacOS und Windows zum Laufen zu bekommen ist, beschränkt sich OpenShift auf Red Hat Enterprise Linux, Fedora und CentOS.

 

Secure by Default

Mit Hinsicht auf die anvisierte Zielgruppe sind einige Sicherheitsoptionen in OpenShift strenger konfiguriert als in Kubernetes. So ist es per Default nicht möglich, in OpenShift Container mit Root-Rechten laufen zu lassen. Berechtigungsmodell in OpenShift ist immer RBAC, während Kubernetes RBAC erst seit Version 1.8 (Sept. 2017) unterstützt.

 

Netzwerkmodell

Networking im Kubernetes Cluster wird immer über ein Software Defined Network (SDN) abgewickelt. Die Implementierung kann frei gewählt werden. Alleine auf der Kubernetes Webseite sind derzeit etwa 20 verschiedene Netzwerkimplementierungen aufgeführt. Allen gemeinsam sind folgende Eigenschaften:

  • Alle Pods im Kubernetes Cluster können ohne NAT mit allen anderen Pods kommunizieren.
  • Alle Services auf einem Host (zum Beispiel System Deamons) können mit allen Pods auf dem gleichen Host kommunizieren.

Die einzelnen Implementierungen unterscheiden sich beispielsweise in der unterstützten Backend Technologie, es gibt beispielsweise eine Implementierung speziell für NSX-T (die Netzwerkvirtualisierungs- und Sicherheitsplattform von VMware), für Google Cloud Engine oder einfache Implementierungen wie Flannel, die ein einfaches, flaches Netzwerk bereitstellen. Dazwischen gibt es Implementierungen, die unterschiedliche Level von Sicherheits- und Routingfunktionalität bereitstellen und so je nach Use-Case optimale Lösungen bieten.

OpenShift stellt dem Anwender nur drei sogenannte Netzwerkplugins zur Auswahl: Mit ovs-subnet wird ein flaches Netzwerk bereitgestellt, in dem jeder Pod mit jedem anderen Pod kommunizieren kann. ovs-multitenant ermöglicht eine Isolierung auf Projekt-Level. Pods aus einem Projekt können nicht direkt mit Pods aus einem anderen Projekt kommunizieren. Am Granularsten lassen sich Netzwerkverbindungen mit ovs-networkpolicy definieren. Mit diesem Plugin können Punkt-zu-Punkt Verbindungen für jeden Pod definiert werden.

 

Build & Deployment Automatisierung

OpenShift bietet umfangreiche Features im Bereich Continuous Build und Deployment. Mit Build- und ImageStreams werden Möglichkeiten bereitgestellt, um vollautomatische Source-to-Image (S2I) Prozesse aufzusetzen. Kubernetes sieht out of the box keine solchen Möglichkeiten vor.

 

Fazit

Zusammengefasst vereinfacht OpenShift die Bereitstellung einer Container Plattform. Während mittels Kubernetes in einem Custom Setup die Möglichkeiten der Containerisierung bis in die hinterste Ecke ausgelotet werden können, bietet OpenShift eine sinnvolle Vorauswahl für die gängigen Einsatzszenarien. Wer auf Herstellersupport für seine On-premise Containerplattform wert legt, wird um OpenShift Enterprise nicht herumkommen. Wer mit dem hervorragenden Community Support auskommt, wird mit Kubernetes oder OKD ohne Probleme eine reife, stabile Plattform aufbauen können.


Bernd  Leinfelder
Bernd Leinfelder

Bernd Leinfelder ist seit 2016 System Architekt bei ti&m. Er verfügt über langjährige Erfahrungen in Softwareentwicklung und System Engineering. Neben seiner Tätigkeit bei ti&m leitet er den Fachbereich Enterprise Computing an der Fernfachhochschule Schweiz und doziert dort zu Robustheit und Wartbarkeit verteilter Software. Er hält diverse Zertifizierungen in den Bereichen Cloud Computing, IT-Security und IT-Audit.

Weitere Beiträge

Cloud Act Lead image
CLOUD Act und Data Residency – Ist amerikanischen Cloud Providern noch zu trauen?

Durch den CLOUD Act müssen US-Firmen Daten auch aus ausländischen Rechenzentren bei Anfrage an US-Behörden ausliefern. Firmen, die mit US-Cloud-Providern zusammenarbeiten, müssen sich dieser Gefahr bewusst sein, wie ti&m-Surfer Bernd Leinfelder in seinem Blog-Beitrag herausarbeitet.

Mehr erfahren
Multi-Project Development Environment Setup<br/>
The Developer’s Nightmare: Multi-Project Development Environment Setup

If you are a developer, you have had to set up your development environment for any of your projects. Database, application server, index, and so on. That might go smoothly… or not. If the first applies, CONGRATULATIONS! And get to work ;) but if not, then welcome to the non-smooth environment setup problem. Even worse, what if you need to have different environments for different projects (e.g. database versions)? And what if you need to reset one, but keep the others untouched?

Mehr erfahren
I do not love you
I do not love you

For most readers, the title above probably has a strong negative connotation. What if instead of "you", the name of a company was used? The statement still has the same negative connotation, but an opinion of a customer regarding a company might be even more sensitive – at least from a sales point of view. Such public reviews constitute important sources of information for both prospective clients and companies alike. How can one identify, ideally in an automated way, such polarised opinions in the vastness of today’s cyberspace?

Mehr erfahren
google datacenter
AI und die Cloud – ein Patentrezept für alles?

AI hat sich heute zum wahren Modewort entwickelt. Jedoch ist der Begriff inzwischen so emotional aufgeladen, dass Realität und Vorstellung sehr weit auseinanderliegen. Dieser Artikel soll ein Erklärungsversuch darstellen, was AI heute schon leisten kann und warum Cloud-Technologien dabei so eine entscheidende Rolle spielen.

Mehr erfahren
Glühbirne 750x410
Become a Digital Ambassador

Mehr erfahren