Red Hat Universal Base Image (UBI) Hilft beim Erstellen und Leben

Container sind eine leichtgewichtige Version des Benutzerbereichs des Linux-Betriebssystems - tatsächlich ist dies ein "nacktes" Minimum. Trotzdem ist es immer noch ein vollwertiges Betriebssystem, und daher ist die Qualität dieses Containers selbst genauso wichtig wie ein vollwertiges Betriebssystem. Aus diesem Grund bieten wir seit langem RHEL-Images (Red Hat Enterprise Linux) an, damit Benutzer über zertifizierte, moderne und aktuelle Container auf Unternehmensebene verfügen können. Ausführen von Container-Images von RHEL auf Container-Hosts RHEL bietet Kompatibilität und Portabilität zwischen Umgebungen, ganz zu schweigen davon, dass dies bereits bekannte Tools sind. Es gab jedoch ein Problem. Sie können ein solches Image nicht einfach an eine andere Person übertragen, selbst wenn es sich um einen Kunden oder Partner handelt, der Red Hat Enterprise Linux verwendet.



Aber jetzt hat sich alles geändert

Mit der Veröffentlichung des Red Hat Universal Base Image (UBI) erhalten Sie jetzt die vertraute Zuverlässigkeit, Sicherheit und hohe Leistung offizieller Red Hat-Container-Images, unabhängig davon, ob Sie ein Abonnement haben oder nicht. Dies bedeutet, dass Sie eine containerisierte Anwendung auf UBI erstellen, in die Containerregistrierung Ihrer Wahl einfügen und mit der Welt teilen können. Mit Red Hat Universal Base Image können Sie in jeder Umgebung - wo immer Sie möchten - eine containerisierte Anwendung erstellen, freigeben und zusammenarbeiten.



Dank UBI ist es möglich, Ihre Anwendungen auf praktisch jeder Infrastruktur zu veröffentlichen und auszuführen. Wenn Sie sie jedoch auf Red Hat-Plattformen wie Red Hat OpenShift und Red Hat Enterprise Linux ausführen, erhalten Sie zusätzliche Vorteile (mehr Gold!). Und bis wir zu einer detaillierteren Beschreibung von UBI übergehen, möchte ich eine kurze FAQ dazu geben, warum ein RHEL-Abonnement erforderlich ist. Was passiert also, wenn Sie das UBI-Image auf der RHEL / OpenShift-Plattform ausführen?



Nachdem wir mit dem Marketing zufrieden sind, lassen Sie uns mehr über UBI sprechen

Gründe für die Verwendung von UBI


Was Sie fühlen müssen, um zu verstehen, dass UBI für Sie nützlich sein wird:

  • Meine Entwickler möchten Container-Images verwenden, die in jeder Umgebung verteilt und ausgeführt werden können.
  • Mein Betriebsteam möchte ein unterstütztes Basisimage mit einem Lebenszyklus auf Unternehmensebene
  • Meine Architekten möchten meinen Kunden / Endbenutzern Kubernetes Operator anbieten
  • Meine Kunden möchten keinen Support der Enterprise-Klasse für ihre gesamte Red Hat-Umgebung.
  • Meine Community möchte Anwendungen buchstäblich überall freigeben, ausführen, veröffentlichen und hosten.

Wenn mindestens eines der Szenarien zu Ihnen passt, sollten Sie auf jeden Fall auf UBI achten.

Mehr als nur ein einfacher Look


UBI ist weniger als ein vollwertiges Betriebssystem, aber UBI hat drei wichtige Dinge:

  1. Ein Satz von drei Grundbildern (ubi, ubi-minimal, ubi-init)
  2. Bilder mit vorgefertigten Laufzeiten verschiedener Programmiersprachen (NodeJS, Ruby, Python, PHP, Perl usw.)
  3. Eine Reihe verwandter Pakete im YUM-Repository mit den häufigsten Abhängigkeiten




UBI wurde als Basis für Cloud-native und Webanwendungen erstellt, die in Containern entwickelt und bereitgestellt wurden. Alle Inhalte in UBI sind eine Teilmenge von RHEL. Alle Pakete in UBI durchlaufen RHEL-Kanäle und werden wie RHEL unterstützt, wenn sie auf von Red Hat unterstützten Plattformen wie OpenShift und RHEL gestartet werden.



Um Qualitätsunterstützung für Container bereitzustellen, sind große Anstrengungen von Ingenieuren, Sicherheitsspezialisten und anderen zusätzlichen Ressourcen erforderlich. Es erfordert nicht nur das Testen grundlegender Images, sondern auch das Analysieren ihres Verhaltens auf jedem unterstützten Host.

Um die mit dem Upgrade verbundenen Aufgaben zu vereinfachen, entwickelt Red Hat die Entwicklung und den Support aktiv weiter, sodass UBI 7 beispielsweise auf RHEL 8-Hosts und UBI 8 auf RHEL 7-Hosts ausgeführt werden kann. Dies bietet Benutzern die erforderliche Flexibilität, Sicherheit und Sicherheit Zum Beispiel Plattformaktualisierungen in Container-Images oder verwendeten Hosts. All dies kann nun in zwei unabhängige Projekte unterteilt werden.

Drei Grundbilder




Minimal - Entwickelt für Anwendungen mit allen Abhängigkeiten (Python, Node.js, .NET usw.)

  • Mindestmenge an vorinstallierten Inhalten
  • Keine suid ausführbaren Dateien
  • Minimum Package Manager Toolkit (installieren, aktualisieren und deinstallieren)

Plattform - für alle Anwendungen, die auf RHEL ausgeführt werden

  • OpenSSL Unified Cryptographic Stack
  • YUM voller Stapel
  • Nützliche grundlegende Betriebssystem-Dienstprogramme enthalten (tar, gzip, vi usw.)

Multi-Service - vereinfacht den Start mehrerer Services in einem Container

  • Konfiguriert, um systemd beim Start auszuführen
  • Die Fähigkeit, Dienste in der Erstellungsphase zu aktivieren

Bilder von Containern mit vorgefertigten Laufzeiten von Programmiersprachen


Zusätzlich zu den grundlegenden Images, mit denen Sie die Unterstützung für Programmiersprachen installieren können, enthalten UBIs vormontierte Images mit vorgefertigten Laufzeiten für eine Reihe von Programmiersprachen. Viele Entwickler können einfach ein Bild aufnehmen und an der Anwendung arbeiten, die sie entwickeln.

Mit dem Start von UBI bietet Red Hat zwei Bildersätze an - basierend auf RHEL 7 und basierend auf RHEL 8. Sie basierten auf Red Hat Software Collections (RHEL 7) bzw. Application Streams (RHEL 8). Diese Laufzeiten werden auf dem neuesten Stand gehalten und erhalten standardmäßig bis zu vier Updates pro Jahr, sodass immer die Möglichkeit besteht, mit den neuesten und stabilsten Versionen zu arbeiten.

Hier ist eine Liste von UBI 7-Container-Bildern:



Hier ist eine Liste von Containerbildern für UBI 8:



Zugehörige Pakete


Die Verwendung von vorgefertigten Bildern ist wirklich sehr praktisch. Red Hat behält ihre Relevanz bei und aktualisiert sie mit der Veröffentlichung der neuen Version von RHEL sowie mit wichtigen CVE-Updates gemäß der Aktualisierungsrichtlinie für RHEL-Image-Richtlinien, sodass Sie eines dieser Images aufnehmen und sofort mit der Arbeit an der Anwendung beginnen können.



Aber manchmal, wenn Sie eine Anwendung erstellen, benötigen Sie plötzlich ein zusätzliches Paket. Manchmal müssen Sie ein bestimmtes Paket aktualisieren, damit die Anwendung funktioniert. Aus diesem Grund werden UBI-Images mit einer Reihe von RPMs geliefert, die über yum verfügbar sind und über ein schnelles und hochverfügbares Netzwerk für die Bereitstellung von Inhalten verteilt werden (Sie packen!). Wenn Sie zu diesem kritischen Zeitpunkt der Veröffentlichung ein leckeres Update auf Ihrer CI / CD ausführen, können Sie sicher sein, dass es funktioniert.

RHEL ist das Fundament


Wir werden nicht müde zu wiederholen, dass RHEL das Fundament von allem ist. Wissen Sie, welche Teams in Red Hat daran arbeiten, grundlegende Bilder zu erstellen? Zum Beispiel diese:

  • Ein Engineering-Team, das dafür verantwortlich ist, dass Kernbibliotheken wie glibc und OpenSSL sowie Sprachlaufzeiten wie Python und Ruby eine konsistente Leistung bieten und bei Verwendung in Containern zuverlässig mit Workloads arbeiten.
  • Die Produktsicherheitsgruppe befasst sich mit der rechtzeitigen Korrektur von Fehlern und Sicherheitsproblemen in Bibliotheken und Sprachumgebungen. Ihre Leistung wird anhand der speziellen Note Container Health Index bewertet.
  • Das Team aus Produktmanagern und Ingenieuren fügt neue Funktionen hinzu und bietet einen langen Produktlebenszyklus, der Vertrauen in die Investition schafft, die als Grundlage verwendet werden kann.

Red Hat Enterprise Linux fungiert als großartiger Host und Image für Container, aber für viele Entwickler ist die Fähigkeit wichtig, mit dem System in einer Vielzahl von Formaten zu arbeiten, von denen einige über die unterstützten Szenarien für die Verwendung des Linux-Systems hinausgehen können. Und hier kommen universelle UBI-Bilder zur Rettung.

Angenommen, Sie suchen gerade nach einem einfachen Image, um mit der Arbeit an einer einfachen containerisierten Anwendung zu beginnen. Oder sind Sie der Zukunft näher und wechseln von eigenständigen Containern, die auf der Container-Engine ausgeführt werden, zum Cloud-nativen Verlauf, indem Sie Operatoren erstellen und zertifizieren, die unter OpenShift ausgeführt werden. In jedem Fall bietet UBI hierfür eine hervorragende Grundlage.



Container enthalten eine leichtgewichtige Version des Benutzerbereichs des Betriebssystems in einem neuen Verpackungsformat. Die Veröffentlichung von UBI-Images setzt einen neuen Industriestandard für die Entwicklung von Containern. Container der Enterprise-Klasse stehen allen Benutzern, unabhängigen Softwareentwicklern und Open Source-Communities zur Verfügung. Insbesondere können Softwareentwickler ihre Produkte auf einer einzigen, bewährten Grundlage für alle ihre containerisierten Anwendungen, einschließlich der Kubernetes-Betreiber, standardisieren. Die Red Hat Container-Zertifizierung und die Red Hat OpenShift Operator-Zertifizierung stehen auch UBI-basierten Entwicklungsunternehmen zur Verfügung, was wiederum die kontinuierliche Überprüfung von Software ermöglicht, die auf Red Hat-Plattformen wie OpenShift ausgeführt wird.



So beginnen Sie mit einem Bild zu arbeiten


Kurzum - sehr einfach. Podman ist nicht nur unter RHEL verfügbar, sondern auch unter Fedora, CentOS und mehreren anderen Linux-Distributionen. Sie müssen lediglich das Bild aus einem der folgenden Repositorys hochladen und loslegen.

Für UBI 8:

podman pull registry.access.redhat.com/ubi8/ubi podman pull registry.access.redhat.com/ubi8/ubi-minimal podman pull registry.access.redhat.com/ubi8/ubi-init 

Für UBI 7:

 podman pull registry.access.redhat.com/ubi7/ubi podman pull registry.access.redhat.com/ubi7/ubi-minimal podman pull registry.access.redhat.com/ubi7/ubi-init 

Lesen Sie den vollständigen Universal Base Image Guide

Source: https://habr.com/ru/post/de451090/


All Articles