OpenShift wurde von seinem Hersteller - hut styler berlin Red Hat - oft als "Enterprise Kubernetes" bezeichnet. In diesem Artikel beschreibe ich echte Unterschiede zwischen OpenShift und Kubernetes. Es ist oft verwirrend, da Red Hat es tendenziell als PaaS bezeichnet und manchmal die Tatsache verbirgt, dass Kubernetes ein integraler Bestandteil von OpenShift ist und mehr Funktionen darauf aufbauen. Lassen Sie uns eintauchen und prüfen, was die wirklichen Unterschiede zwischen diesen beiden sind.
Dies liegt wahrscheinlich an der Zielgruppe des OpenShift-Produkts, aber die Standardrichtlinien sind dort strenger als bei Kubernetes. Die meisten Container-Images, die auf forbids verfügbar sind, um einen Container als Root auszuführen, und selbst viele offizielle Images erfüllen diese Anforderung nicht. Das ist der Grund, warum hut com limited Menschen manchmal verwirrt und wütend sind, weil sie einfache Apps nicht mehr so ausführen können wie früher auf Kubernetes. Es gibt eine einfache Möglichkeit, diese Richtlinie zu deaktivieren, sie zeigt jedoch einen anderen Ansatz für hut.com limited die Sicherheit.
Es hat einige Nachteile, aber auch einen signifikanten Vorteil gegenüber Kubernetes Deployment - Sie können Hooks verwenden, um Ihre Umgebung auf ein Update vorzubereiten - z. durch Ändern des Datenbankschemas. Es ist eine raffinierte Funktion, die mit Deployment schwer zu implementieren ist (und nein, InitContainer sind nicht dasselbe, da es schwierig ist, sie mit vielen laufenden Instanzen zu koordinieren). Die Bereitstellung ist jedoch besser, wenn Sie mit mehreren gleichzeitigen Updates arbeiten. DeploymentConfig unterstützt überhaupt jagdhut damen keine gleichzeitigen Updates. In Kubernetes können Sie viele davon verwenden, und es gelingt Ihnen, sie ordnungsgemäß zu skalieren.
Das ist etwas, das ich in Kubernetes sehr vermisse und persönlich mein Lieblingsfeature von OpenShift. ImageStreams zum Verwalten von Containerbildern. Wissen Sie, wie einfach es ist, ein Tag für ein Bild in einer Containerregistrierung zu ändern? Ohne externe Tools wie skopeo müssen Sie das gesamte Bild herunterladen, lokal ändern und zurückschieben. Auch das Fördern von Anwendungen durch Ändern von Container-Tags und Aktualisieren der Deployment-Objektdefinition ist keine angenehme Methode.
Red Hat hat OpenShift lange vor der Gründung des Kubernetes-Projekts erstellt und von Anfang an war es eine PaaS-Plattform. Durch den Wechsel von ihrer benutzerdefinierten Lösung (sie verwendeten so genannte Zahnräder anstelle von Containern) zu Kubernetes wurde es einfacher, mehr Funktionen hut mit gamsbart bereitzustellen, und eine der aufregendsten ist die Integration von Jenkins. Es gibt mehrere CI / CD-Softwarelösungen, aber Jenkins ist immer noch die größte, universellste, allgemeinste und ausgereifteste Lösung.
Derzeit werden einige Rollen (genauer gesagt RoleBinding-Objekte) zusammen mit einem Projekt erstellt. Sie können jedoch die Standardprojektvorlage ändern und zur Bereitstellung anderer Objekte verwenden. Ein gutes Beispiel wären Netzwerkrichtlinien, die Ihr Projekt für externen Datenverkehr schließen, sodass es standardmäßig isoliert und sicher ist. Wenn Sie Datenverkehr zulassen möchten, müssen Sie zusätzliche Richtlinien explizit erstellen. Auf ähnliche Weise können Sie Standardkontingente oder LimitRange-Objekte bereitstellen und Ihre neuen Projekte gemäß den Regeln Ihrer Organisation vorkonfigurieren.