Kubernetes vs OpenShift: What’s The Difference?

Kubernetes vs. OpenShift: Was ist der Unterschied?

  • ITOps & DevOps
6 Minuten Lesezeit Aktualisiert Nov 3, 2020

Auf einen Blick: Kubernetes und OpenShift sind Schlüsselplattformen für die Container-Orchestrierung, wobei jede einzigartige Funktionen bietet. Kubernetes ist ein flexibles, quelloffenes Framework, während OpenShift, das auf Kubernetes basiert, eine kommerzielle Lösung mit zusätzlicher Unterstützung und integrierten Tools bietet.

  • Kubernetes zeichnet sich durch Flexibilität bei der Bereitstellung auf verschiedenen Cloud-Plattformen aus.
  • OpenShift enthält integrierte Komponenten, die die Benutzerfreundlichkeit und Sicherheit verbessern.

Wenn es um Container-Orchestrierung geht, sind Kubernetes und OpenShift die wichtigsten Optionen, die man nicht ignorieren kann. Während wir die beiden vergleichen, sollte man bedenken, dass sie sich recht ergänzen; tatsächlich ist Kubernetes ein bedeutender Bestandteil der OpenShift-Plattform.

Darüber hinaus bieten dank ihrer robusten und skalierbaren Konfigurationen beide Technologien die Möglichkeit von:

  • Großflächige Anwendungsentwicklung
  • Verwaltung
  • Einsatz

In diesem Artikel analysieren wir diese beiden beliebten Container-Orchestrierungsplattformen und untersuchen ihre grundlegenden Unterschiede.

Kubernetes

Kubernetes-Logo

Google entwickelte Kubernetes als Open-Source- und portable Container-as-a-Service-Plattform, die es einer Organisation ermöglicht, Dienste für: automatisierte Bereitstellung, Skalierung und Verwaltung von Anwendungs-Workloads zu verwalten. Kubernetes wurde von der Cloud Native Computing Foundation (CNCF) übernommen und bietet standardmäßige Funktionen wie:

  • Prozessautomatisierung
  • Lastverteilung
  • Selbstüberwachung
  • Speicherorchestrierung

OpenShift

Red Hat Logo

Red Hats OpenShift ist eine cloudbasierte Containerplattform, die sowohl als Platform-as-a-Service- als auch als Container-Orchestrierungs-Engine fungiert. Im Kern ist OpenShift ein Open-Source-Tool, das die Kubernetes-Plattform nutzt, um Docker-Container für konsistente Erfolge zu verwalten:

Mit OpenShift können Entwickler containerisierte Anwendungen in einer integrierten Entwicklungsumgebung (IDE) bereitstellen und dabei Kubernetes zur Verwaltung nutzen.

OpenShift

Vergleich von Kubernetes und OpenShift

Sowohl Kubernetes als auch OpenShift laufen mit einer Apache 2.0-Lizenz und helfen bei großflächiger Anwendungsverwaltung und -bereitstellung. Es gibt jedoch grundlegende Unterschiede in der Art und Weise, wie jede dieser Technologien ihre Funktionalität bereitstellt.

Vergleichen wir die Hauptmerkmale beider.

Kubernetes-Projekt vs. OpenShift-Produkt

Kubernetes wurde als Open-Source-Framework-Projekt entwickelt. K8s wird durch eine fortlaufende Zusammenarbeit zwischen Nutzern der globalen Entwickler-Community verwaltet. Obwohl das bedeutet, dass der Support Do-it-yourself ist, profitieren Sie auch von Peer-Wissen und Zusammenarbeit innerhalb der Open-Source-Community.

OpenShift ist sowohl als folgt verfügbar:

  • Ein kommerzielles Produkt (OpenShift Container Platform)
  • Öffentliche Cloud (OpenShift Online und OpenShift Dediziert)

Die OpenShift Container Platform wird von Entwicklern von Red Hat Inc. entwickelt, verwaltet und verwaltet und bietet ein kostenpflichtiges Abonnement für Verwaltung und Infrastrukturverwaltung. Das bedeutet, dass Nutzer dedizierten Support erhalten, mit regelmäßigen Upgrades. Die Open-Source-Version von OpenShift, auch bekannt als OKD, ist eine Community-Edition-Plattform, die auf 'Selbstunterstützung' beschränkt ist.

Kompatibilität & Installation

Mit der wachsenden Beliebtheit und den Anwendungsfällen von Kubernetes ist die Liste der mit Kubernetes kompatiblen Tools exponentiell gewachsen. Dies bleibt ein wichtiger Aspekt unter Entwicklern, der im Grunde die Freiheit der Wahl in Bezug auf Plattform, Komplexität und Upgrades bietet.

Noch wichtiger ist, dass die breite Akzeptanz von Kubernetes auch darauf zurückzuführen ist, dass Kubernetes auf allen drei großen Public-Cloud-Plattformen Managed Services bietet:

  • GKE für Googles GCP
  • AKS for Azure
  • EKS für Amazon AWS

Im Gegenteil, OpenShift bietet begrenzte Installationsoptionen, da man es nur auf drei Linux-Distributionen installieren kann:

  • Für OpenShift 3 müssen Sie entweder Red Hat Atomic oder Red Hat Enterprise Linux (RHEL) verwenden.
  • Um OpenShift 4 zu installieren, benötigen Sie RedHat CoreOS.
  • Die Installation der Open-Source-Version (OKD) erfordert CentOS oder RHEL.

Kubernetes verfügt nicht über eingebaute Fähigkeiten für Authentifizierung und Autorisierung. Dies erfordert die manuelle Erstellung von Authentifizierungsverfahren, wie zum Beispiel Token Bearing für die Sicherheit. Wo das Sicherheitsprotokoll in Kubernetes nicht klar definiert ist, fehlt dem Datenverkehr innerhalb eines Kubernetes-Clusters standardmäßig auch die Verschlüsselung. Daher gilt eine fertige Kubernetes-Instanz in der Regel als anfälliger für Angriffsvektoren.

OpenShift verfügt über strenge und klar definierte Sicherheitsrichtlinien. Zum Beispiel beschränkt OpenShift die Ausführung von Docker-Containern auf einfache Images. Um ein Mindestsicherheitsniveau bei OpenShift aufrechtzuerhalten, benötigen Sie spezifische Administratorrechte. Darüber hinaus bietet OpenShift einen integrierten Server für eine einfachere Authentifizierung und Autorisierung.

Die Kubernetes-Weboberfläche ist komplex und wird für Anfänger nicht empfohlen. Um auf die Kubernetes-Web-GUI zuzugreifen, müssen Sie das Kubernetes-Dashboard installieren und die Portadresse Ihres lokalen Rechners per kube-proxy an den Cluster-Server weiterleiten. Da das Dashboard keine Anmeldeseite hat, müssen Sie auch Inhabertoken erstellen, die die Autorisierung und Authentifizierung erleichtern.

Im Gegensatz dazu verfügt OpenShift über eine intuitive Web-Konsole mit einer One-Touch-Login-Seite. Die Konsole bietet Ihnen eine einfache, formularbasierte Benutzeroberfläche, mit der Sie Ressourcen einfach ändern, hinzufügen und löschen können. Außerdem ist es einfacher, Ihre Cluster-Rollen, Projekte und Server zu visualisieren.

Kubernetes ist ein Open-Source-Framework, das auf:

  • Jede größere öffentliche Cloud-Plattform: Azure, AWS oder GCP
  • Jede Linux-Distribution, einschließlich Ubuntu und Debian

Um Kubernetes-Container bereitzustellen, benötigen Sie Kubernetes-Objekte, die gleichzeitige Updates problemlos bewältigen können.

Um OpenShift zu deployen, benötigen Sie RHEL-, Red Hat CoreOS- oder CentOS-Linux-Distributionen. Die Bereitstellung erfolgt mit dem Befehl DeploymentConfig , der nicht mit Controllern implementiert werden kann, sondern über dedizierte Pod-Logiken verwendet werden kann.

Obwohl DeploymentConfig keine gleichzeitigen Updates wie Kubernetes-Objekte unterstützt, bietet die OpenShift-Bereitstellung jedoch bestimmte Vorteile, darunter Versionsmanagement und automatisierte Deployment-Trigger.

Kontinuierliche Lieferung/Kontinuierliche Integration

Kubernetes bietet keine umfassende CI/CD-Lösung direkt aus der Verpackung. Sie können es jedoch mit Tools wie automatisierter Überwachung, Testing und CI-Servern kombinieren, um eine komplette CI/CD-Pipeline aufzubauen. Zusätzlich können Drittanbieter-Plugins wie CircleCI helfen, schnellere CI/CD-Pipelines nahtlos in Kubernetes zu bauen.

Auch wenn es keine vollständige CI/CD-Lösung ist, verfügt OpenShift über einen integrierten, zertifizierten Jenkins-Container, der als CI-Server fungiert. Das folgende Diagramm zeigt eine typische CI/CD-Pipeline, die aus Jenkins (für CI/CD-Engine), Git, Nexus Repository und SonarQube (für SAST) besteht:

Openshift-Flussdiagramm

Verwaltung des Bildregisters

Du kannst deine eigene Docker-Registrierung in Kubernetes konfigurieren, aber die Plattform hat keine integrierte Image-Registry. Kubernetes erlaubt es dir jedoch, Bilder aus einer privaten Registry zu ziehen, um eigene Pods zu erstellen.

Im Gegensatz dazu lässt sich OpenShift mit einer eingebauten Bildregistrierung nahtlos mit DockerHub oder Red Hat kombinieren. Entwickler können Container-Bilder einfach mit Bildströmen suchen und verwalten.

Kubernetes unterstützt mehrere Upgrades, die gleichzeitig durchgeführt werden. Das Upgrade ist einfach, da man nur den Kubeadm-Upgrade-Befehl aufrufen muss, um die aktuelle Version zu erhalten. Es wird immer empfohlen, die vorhandenen Installationsdateien vor dem Upgrade auf eine neuere Version zu sichern.

OpenShift unterstützt nicht automatisch mehrere gleichzeitige Updates. Sie müssen auf das Red Hat Enterprise Linux-Paketverwaltungssystem zugreifen, über das Sie die neueste Version von OpenShift installieren können.

Zusammenfassung von K8s vs. OpenShift

Sowohl Kubernetes als auch OpenShift sind ausgezeichnete Optionen für die großflächige Bereitstellung containerisierter Anwendungen. Während Kubernetes bei den meisten Organisationen aufgrund seiner flexiblen Bereitstellungsoptionen beliebt ist, bietet OpenShift dedizierten Support und verfügt über viele integrierte Komponenten, die die App-Containerisierung vereinfachen, was es sowohl mit agilen als auch DevOps-Methoden beliebt macht.

Kubernetes ist zweifellos die bevorzugte Wahl für Anwendungen mit hoher Nachfrage, die ständige Updates benötigen; OpenShift bietet eine umfassende Lösung, die perfekt für Unternehmen ist, die ständigen und dedizitierten Support benötigen.

Hast du einen Anwendungsfall, der entweder diese oder andere Orchestrierungsplattformen bevorzugt? Lass es uns wissen!

Zusätzliche Ressourcen

Für mehr zu diesem Thema entdecken Sie diese Ressourcen:

Diese Beiträge sind meine eigenen und spiegeln nicht unbedingt die Position, Strategien oder Meinung von BMC wider.

Mehr aus ITOps & DevOps

Interessieren Sie sich für mehr von BMC?

The Brief ist unsere monatliche E-Mail zum Mainframe und zur Enterprise-Orchestrierung: Recherchen, Kundenberichte, Produktnachrichten, Events.

Mit der Registrierung für dieses Angebot bestätigen Sie, dass Sie die Datenschutzrichtlinie von BMC gelesen und zugestimmt haben.

Sie haben The Brief abonniert

Das Briefing umfasst die Mainframe- und Enterprise-Orchestrierung – BMC AMI und Control-M – sowie die Analystenforschung, Kundeneinsätze und Events in beiden Bereichen.