Container sind eine vereinfachte Version des Benutzerraums im Linux-Betriebssystem â im Grunde genommen das ânackteâ Minimum. Dennoch handelt es sich dabei um ein vollwertiges Betriebssystem, weshalb die QualitĂ€t des Containers genauso wichtig ist wie die einer vollwertigen Betriebssystemlösung. Genau deshalb haben wir lange Zeit , angeboten, damit Benutzer zertifizierte, moderne und aktuelle Container auf Unternehmensebene nutzen können. Der Start auf RHEL Container-Hosts ermöglicht KompatibilitĂ€t und PortabilitĂ€t zwischen Umgebungen, ganz zu schweigen von den bereits vertrauten Werkzeugen. Es gab allerdings ein Problem: Sie konnten ein solches Image nicht einfach an jemand anderen weitergeben, selbst nicht an einen Kunden oder Partner, der Red Hat Enterprise Linux verwendet.

Doch jetzt hat sich alles geÀndert
Mit der EinfĂŒhrung des Red Hat Universal Base Image (UBI) erhalten Sie nun die vertraute ZuverlĂ€ssigkeit, Sicherheit und hohe Leistung offizieller Red Hat Container-Images, unabhĂ€ngig davon, ob Sie ein Abonnement haben oder nicht. Das bedeutet, dass Sie eine containerisierte Anwendung auf UBI erstellen, in ein Container-Registry Ihrer Wahl hochladen und mit der ganzen Welt teilen können. Das Red Hat Universal Base Image ermöglicht es, containerisierte Anwendungen in jeder Umgebung zu erstellen, zu teilen und zusammenzuarbeiten â wo auch immer Sie möchten.

Dank UBI können Sie Ihre Anwendungen fast in jeder Infrastruktur veröffentlichen und ausfĂŒhren. Wenn Sie sie jedoch auf Plattformen von Red Hat, wie Red Hat OpenShift und Red Hat Enterprise Linux, ausfĂŒhren, profitieren Sie von zusĂ€tzlichen Vorteilen (mehr Gold!). Bevor wir auf eine detailliertere Beschreibung des UBI eingehen, lassen Sie uns ein kurzes FAQ zur RHEL Subscription bereitstellen. Was geschieht also, wenn Sie das UBI-Image auf der RHEL/OpenShift-Plattform ausfĂŒhren?

Jetzt, wo die Marketingabteilung zufrieden ist, sprechen wir ausfĂŒhrlicher ĂŒber UBI.
GrĂŒnde fĂŒr die Verwendung von UBI
Was Sie fĂŒhlen sollten, 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 Team Operations möchte ein unterstĂŒtztes Basis-Image mit einem Unternehmensfarb-Lebenszyklus
- Meine Architekten möchten anbieten meinen Kunden/Endanwendern
- Meine Kunden möchten auf Unternehmensniveau UnterstĂŒtzung fĂŒr ihre gesamte Red Hat-Umgebung erhalten
- Mein Gemeinschaft möchte containerisierte Anwendungen ĂŒberall teilen, ausfĂŒhren und bereitstellen
Wenn einer der oben genannten AnwendungsfÀlle auf Sie zutrifft, sollten Sie sich UBI unbedingt genauer ansehen.
Mehr als nur ein einfaches Basis-Image
UBI ist weniger als ein vollstÀndiges Betriebssystem, aber UBI hat drei wichtige Merkmale:
- Ein Set aus drei Basis-Images (ubi, ubi-minimal, ubi-init)
- Images mit bereits vorhandenen Laufzeitumgebungen fĂŒr verschiedene Programmiersprachen (Node.js, Ruby, Python, PHP, Perl usw.)
- Ein Set verwandter Pakete im YUM-Repository mit den gÀngigsten AbhÀngigkeiten

UBI wurde als Grundlage fĂŒr cloud-native und Webanwendungen entwickelt, die in Containern bereitgestellt werden. Der gesamte Inhalt in UBI ist ein Teilmenge von RHEL. Alle Pakete in UBI stammen aus RHEL-KanĂ€len und werden Ă€hnlich wie RHEL unterstĂŒtzt, wenn sie auf unterstĂŒtzten Red Hat-Plattformen wie OpenShift und RHEL ausgefĂŒhrt werden.

Die Bereitstellung einer qualitativ hochwertigen UnterstĂŒtzung fĂŒr Container erfordert erhebliche Anstrengungen von Ingenieuren, Sicherheitsspezialisten und anderen zusĂ€tzlichen Ressourcen. Es ist nicht nur das Testen von Basis-Images erforderlich, sondern auch die Analyse ihres Verhaltens auf jedem unterstĂŒtzten Host.
Um die Aufgaben im Zusammenhang mit Updates zu erleichtern, entwickelt Red Hat aktiv UnterstĂŒtzung, sodass UBI 7 zum Beispiel auf RHEL 8-Hosts und UBI 8 auf RHEL 7-Hosts ausgefĂŒhrt werden kann. Dies bietet den Benutzern die erforderliche FlexibilitĂ€t, Sicherheit und Gelassenheit wĂ€hrend des Prozesses, wie zum Beispiel bei Updates von Plattformen in Container-Images oder von verwendeten Hosts. Jetzt können all dies in zwei eigenstĂ€ndige Projekte unterteilt werden.
Drei Basis-Images

Minimal â fĂŒr Anwendungen mit sĂ€mtlichen AbhĂ€ngigkeiten (Python, Node.js, .NET, usw.)
- Minimale Menge an vorinstalliertem Inhalt
- Keine ausfĂŒhrbaren SUID-Dateien
- Minimaler Paketmanager-Toolkit (Installation, Aktualisierung und Deinstallation)
Plattform fĂŒr alle auf RHEL laufenden Anwendungen
- Einheitlicher kryptografischer Stack OpenSSL
- VollstÀndiger YUM-Stack
- NĂŒtzliche grundlegende Betriebssystem-Utilities sind enthalten (tar, gzip, vi usw.)
Multi-Service â erleichtert das Starten mehrerer Dienste in einem Container
- FĂŒr den Start von systemd konfiguriert
- Möglichkeit zur Aktivierung von Diensten wÀhrend des Build-Prozesses
Container-Images mit bereits konfigurierten Laufzeitumgebungen fĂŒr Programmiersprachen
ZusĂ€tzlich zu den Basis-Images, die die UnterstĂŒtzung fĂŒr Programmiersprachen ermöglichen, enthalten UBI vorab erstellte Images mit bereits konfigurierten Laufzeitumgebungen fĂŒr eine Reihe von Programmiersprachen. Viele Entwickler können einfach ein Image verwenden und mit der Entwicklung ihrer Anwendung beginnen.
Mit der EinfĂŒhrung von UBI bietet Red Hat zwei Sets von Images an â basierend auf RHEL 7 und RHEL 8. Diese basieren auf Red Hat Software Collections (RHEL 7) respektive Application Streams (RHEL 8). Diese Laufzeitumgebungen werden kontinuierlich aktualisiert und erhalten standardmĂ€Ăig bis zu vier Updates pro Jahr, sodass immer die neuesten und stabilsten Versionen zur VerfĂŒgung stehen.
Hier ist eine Liste der UBI 7 Container-Images:

Hier ist eine Liste der Container-Images fĂŒr UBI 8:

Assoziierte Pakete
Die Verwendung von vorgefertigten Images ist Ă€uĂerst praktisch. Red Hat sorgt fĂŒr deren AktualitĂ€t und aktualisiert sie bei der Veröffentlichung neuer RHEL-Versionen sowie bei kritischen CVE-Updates gemÀà der Update-Richtlinie. um eines dieser Images zu nehmen und sofort mit der Arbeit an der Anwendung zu beginnen.

Bei der Entwicklung einer Anwendung kann es plötzlich notwendig werden, ein zusĂ€tzliches Paket hinzuzufĂŒgen. Manchmal ist es auch nötig, ein bestehendes Paket zu aktualisieren, um die Anwendung zum Laufen zu bringen. Aus diesem Grund werden UBI-Images mit einer Sammlung von RPM-Paketen geliefert, die ĂŒber yum verfĂŒgbar sind und ĂŒber ein schnelles, hochverfĂŒgbares Content Delivery Network bereitgestellt werden (Ihr Paket!). Wenn Sie zum kritischen Zeitpunkt eines Releases ein yum-Update auf Ihrem CI/CD durchfĂŒhren, können Sie sich darauf verlassen, dass es funktioniert.
RHEL ist die Grundlage
Wir betonen immer wieder, dass RHEL die Grundlage fĂŒr alles ist. Wissen Sie, welche Teams bei Red Hat an der Erstellung von Basis-Images arbeiten? Hier sind einige Beispiele:
- Die Ingenieurgruppe, die dafĂŒr sorgt, dass grundlegende Bibliotheken wie glibc und OpenSSL sowie Laufzeitumgebungen wie Python und Ruby eine stabile Leistung erbringen und zuverlĂ€ssig mit Arbeitslasten in Containern arbeiten.
- Die Sicherheitsproduktgruppe kĂŒmmert sich um die zeitnahe Behebung von Fehlern und Sicherheitsproblemen in Bibliotheken und Programmiersprachen. Die Effizienz ihrer Arbeit wird mithilfe eines speziellen Index bewertet. .
- Das Team aus Produktmanagern und Ingenieuren ist fĂŒr die EinfĂŒhrung neuer Funktionen verantwortlich und sorgt fĂŒr einen langen Produktlebenszyklus, was das Vertrauen in die getĂ€tigten Investitionen stĂ€rkt und eine solide Grundlage bietet.
Red Hat Enterprise Linux fungiert als hervorragender Host und Image fĂŒr Container, doch fĂŒr viele Entwickler ist die FĂ€higkeit, mit dem System in verschiedenen Formaten zu arbeiten, wichtig. Einige dieser Formate könnten ĂŒber die unterstĂŒtzten Nutzungsszenarien eines Linux-Systems hinausgehen. Hier kommen universelle Images (UBI) ins Spiel.
Angenommen, Sie suchen gerade nach einem grundlegenden Image, um mit einer einfachen containerisierten Anwendung zu beginnen. Oder Sie sind bereits nĂ€her an der Zukunft und bewegen sich von autonomen Containern, die auf einem Container-Engine laufen, hin zu einer cloud-nativen Geschichte mit Operatoren (Bauen und Zertifizieren von Operatoren), die auf OpenShift arbeiten. In jedem Fall bietet UBI eine hervorragende Basis dafĂŒr.

Container beinhalten eine vereinfachte Version des Benutzerraums des Betriebssystems in einem neuen Verpackungsformat. Die Veröffentlichung von UBI-Images setzt einen neuen Branchenstandard fĂŒr die containerisierte Entwicklung, wobei Unternehmenscontainer fĂŒr alle Benutzer, unabhĂ€ngige Softwareentwickler und Open-Source-Communities zugĂ€nglich werden. Insbesondere können Softwareentwickler ihre Produkte standardisieren, indem sie eine einheitliche, geprĂŒfte Grundlage fĂŒr all ihre containerisierten Anwendungen nutzen, einschlieĂlich . Unternehmen, die UBI verwenden, haben auch Zugang zur Red Hat Container-Zertifizierung und zur Red Hat OpenShift Operator-Zertifizierung, wodurch die kontinuierliche Verifizierung von Software ermöglicht wird, die auf Red Hat-Plattformen wie OpenShift ausgefĂŒhrt wird.

So beginnen Sie mit einem Image
Kurz gesagt, es ist sehr einfach. Podman ist nicht nur in RHEL verfĂŒgbar, sondern auch in Fedora, CentOS und mehreren anderen Linux-Distributionen. Sie mĂŒssen lediglich das Image aus einem der folgenden Repositories herunterladen 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
Schauen Sie sich auch den vollstÀndigen Universal Base Image Guide an
Quelle: habr.com
