10. July 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

Trust 750x410
Assurance nach ISAE 3000 für das ti&m Hosting

ti&m hat das Hosting nach dem ISAE 3000 Standard auf Wirksamkeit der FINMA Rundschreiben RS 2018/3 RS 2008/21 prüfen lassen. Im Interview erklärt Karsten Burger, und Head Innovation Hosting & Application Management bei ti&m, die Hintergründe und welche Vorteile ti&m-Kunden davon bekommen. Zudem gibt er einen Einblick in die Erfolgsgeheimnisse des Hostings von ti&m.

find more information
Data isn’t valuable. Information is!<br/>
Data isn’t valuable. Information is!

Banks spend a vast amount of time researching and collecting data about clients, but often lack the bigger picture of connecting these separate data piles from various systems. Data alone is worthless, but connected and turned into information using an identity database, new possibilities such as reducing the cost per client, increasing quality of service and anticipating a client's actions are possible.

find more information
Interview
“The law doesn’t distinguish between domestic and foreign clouds”

Many banks have only just begun to take a closer interest in the cloud. They continue to have reservations, first and foremost about the compatibility of the cloud with banking secrecy. Martin Hess, Head of Digitalization and Economic Policy and Board Member of the Swiss Bankers Association, has the answers.

find more information
Building an Efficient Chat Tool Prototype<br/>
ManMachine: Building an Efficient Chat Tool Prototype

Artificial Intelligence (AI) has been a major theme in the last decade and numerous big companies have invested a lot of effort into the technology. Within the scope of our last ti&m garage project, we too developed a small but efficient chat tool prototype for a big company in Switzerland.

find more information
Eine neue Möglichkeit der Art Direction bei responsiven Bildern
Eine neue Möglichkeit der Art Direction bei responsiven Bildern

Das Jahr 2015 markiert ein Meilenstein in der digitalen Medienlandschaft. Zum ersten Mal verwendeten mehr Leute das Internet über mobile Geräte als über Desktop-Browser. Die Webseitenbetreiber haben deshalb ihre Webseiten responsive gestaltet. Je nach Gerät und Bildschirmgrösse wird das Layout der Seite anders dargestellt, so dass der Inhalt immer optimal sichtbar ist.

find more information