Vor drei Jahren haben wir mit der Veröffentlichung von Red Hat Enterprise Linux 8 (RHEL 8) eine Reihe neuer Container-Tools mit einem neuen Konzept namens Application Streams bereitgestellt. Mit diesen neuen Container-Tools konnten RHEL-Nutzende Container suchen, ausführen, erstellen und freigeben. Weitere Informationen dazu, warum RHEL von Docker zu Podman wechselte (und wie dieser Wechsel abgelaufen ist) finden Sie unter RHEL 8 bietet jetzt Container mit den Tools des Software Craftsmanships.
In unserer vorherigen Veröffentlichung, Neuerungen in Red Hat Enterprise Linux 8.5 Container Tools, haben wir viele grundlegende Features und Funktionen vorgestellt, die für den Einstieg in RHEL 9 erforderlich sind.
Mit der Veröffentlichung von RHEL 9 stellen wir weiterhin dieselben Container-Tools bereit, die auf Pod Manager (podman), Buildah, Skopeo, Udica, CRIU und anderen Linux-Dienstprogrammen basieren. RHEL 9 stellt weiterhin das unserer Meinung nach beste Tool für diese Aufgabe bereit, das Container-Benutzern das Upgrade von RHEL 8 auf RHEL 9 erleichtert. Dieser Artikel befasst sich mit den neuesten Technologien und Änderungen bei der Paketierung von Container-Tools in RHEL 9.
RHEL 8.6 und RHEL 9.0 – was hat sich geändert?
Beginnen wir zunächst mit einigen RHEL-Hintergrundinformationen. RHEL 8.6 und RHEL 9.0 bezeichnen wir als synchronisierte Releases. Sie wurden ungefähr zur gleichen Zeit veröffentlicht und werden synchronisiert, bis RHEL 8 Version 8.10 erreicht und in die Wartungssupportphase übergeht. RHEL 9 wird mit neuen Funktionen fortgesetzt. Dadurch erhalten Benutzer etwa zwei Jahre lang Funktionsupdates auf beiden Plattformen und ein Zeitfenster für das Upgrade. Der RHEL-Lifecycle wurde bewusst so konzipiert, dass das Upgrade vereinfacht wird, was auch für Container-Tools gilt.
Beachten Sie in der Abbildung unten, dass die folgenden Versionen von RHEL 8 und 9 synchron sind:
-
RHEL 9 Alpha -> RHEL 8.4
-
RHEL 9 Beta -> RHEL 8.5
-
RHEL 9.0 GA -> RHEL 8.6
-
RHEL 9.1 -> RHEL 8.7
-
RHEL 9.2 -> RHEL 8.8
-
RHEL 9.3 -> RHEL 8.9
-
RHEL 9.4 -> RHEL 8.10
![RHEL 9 container technologies sync with RHEL 8 RHEL 9 container technologies sync with RHEL 8](/rhdc/managed-files/styles/wysiwyg_full_width/private/rhel-9-container-technologies-image1.png.webp?itok=JNLlN0Og)
Diese Synchronisierung zwischen RHEL 8 und 9 vereinfacht Upgrades und erstreckt sich auf die Versionen von Podman, Buildah und Skopeo. Die schnellen und stabilen Versionen von Podman, Buildah und Skopeo sind zwischen den Versionen also abgestimmt. Beachten Sie beispielsweise, dass die neueste Version von Podman zwischen RHEL 8 und 9 identisch ist:
Unter RHEL 8
cat /etc/redhat-release Red Hat Enterprise Linux release 8.6 (Ootpa) [root@lance ~]# podman --version podman version 4.0.2
Unter RHEL 9
cat /etc/redhat-release Red Hat Enterprise Linux release 9.0 (Plow) podman --version podman version 4.0 .2
Die Synchronisierung wichtiger Software wie Podman zwischen Hauptversionen von RHEL vereinfacht Upgrades, aber es gibt noch einige Änderungen, die Sie beachten sollten. In RHEL 8.X haben wir zwei Anwendungs-Streams veröffentlicht, einen, um Entwicklern Zugriff auf die neuesten Versionen von Podman, Buildah und Skopeo zu geben, und einen zweiten, stabilen Stream, um Operations-Teams einen zweijährigen Support-Lifecycle zu bieten.
RHEL 8-Anwendungs-Streams
![RHEL 8 Application Streams RHEL 8 Application Streams](/rhdc/managed-files/styles/wysiwyg_full_width/private/rhel-9-container-technologies-image2.png.webp?itok=zqKQ-ROU)
Bei der in RHEL 8 verwendeten Methodik gab es einige Herausforderungen. Erstens haben wir keine große Akzeptanz des stabilen Streams festgestellt, was unsere ursprüngliche Annahme bei der Einführung von RHEL 8 widerlegte. Wir haben die schnellen und stabilen Streams in RHEL 8 eingeführt, weil wir dachten, dass die Leute Zugriff auf eine stabile Container-API (Podman) haben wollten und gleichzeitig die neuesten und besten Betriebssystem-Bits (Linux-Kernel, systemd usw.) verwenden wollten. Dies war in der Vergangenheit der Wunsch bei containerbasierten Betriebssystemen.
Diese Annahme hat sich als falsch herausgestellt. Stattdessen suchten RHEL-Benutzer in erster Linie Zugriff auf den stabilen Container-Tools-Stream in Verbindung mit einem zweijährigen erweiterten Update-Support (EUS) für RHEL als Ganzes. Es stellte sich heraus, dass Benutzer, die auf RHEL aufbauen, Zugriff auf ein gesamtes Betriebssystem mit einem längeren Lebenszyklus wünschen. Aus diesem Grund haben wir die Art und Weise geändert, wie wir Container-Tools in RHEL 9 veröffentlichen.
RHEL 9 Rolling Application Stream und EUS
![RHEL 9 Rolling Application Stream and EUS RHEL 9 Rolling Application Stream and EUS](/rhdc/managed-files/styles/wysiwyg_full_width/private/rhel-9-container-technologies-image3.png.webp?itok=DROBnKCC)
In RHEL 9 bieten wir außerdem zwei Möglichkeiten zur Nutzung von Container-Tools: eine davon legt den Fokus auf Schnelligkeit, die andere auf Stabilität. Entwickler und Benutzer, die Zugriff auf die neuesten und besten Versionen von Podman, Buildah und Skopeo wünschen, können einen Anwendungs-Stream nutzen, der bis zu alle 12 Wochen veröffentlicht wird (genau wie RHEL 8). Dieser Stream wird standardmäßig mit dem schnellen Stream auf RHEL 8 synchron gehalten (bis 8.10, wenn RHEL 8 die Entwicklung verlangsamt), was das Upgrade/Downgrade zwischen Hauptversionen erleichtert.
Wenn RHEL 9-Benutzer Zugriff auf einen stabilen Stream benötigen, der zwei Jahre lang mit Sicherheits-Backports unterstützt wird, können sie über den RHEL Extended Update Support (EUS) darauf zugreifen. Dies erfordert jedoch eine zusätzliche Subskription. Standardmäßig wird jede Version von Container-Tools in EUS-Releases von RHEL 9 mit einem entsprechenden stabilen Stream in RHEL 8 synchron gehalten. Auch hier ist ein Upgrade von RHEL 8 auf RHEL 9 leicht möglich, wobei eine konsistente Version von Podman beibehalten und die Wahrscheinlichkeit der Einführung von Regressionen verringert wird.
Es ist wichtig zu beachten, dass RHEL 8 weiterhin genau so bereitgestellt wird, wie es entwickelt wurde. Es wird nicht auf die in RHEL 9 verwendete Methodik konvertiert. Wenn Ihre Entwickler, Administratoren oder Architekten einen Roll-out von RHEL 8 basierend auf stabilen Streams geplant haben, können Sie sich weiterhin darauf verlassen und benötigen keinen EUS.
Beachten Sie auch, dass das Modul container-tools:2.0 in RHEL 8.6 jetzt veraltet ist und Sie zu einer neueren Version (3.0, 4.0, usw.) wechseln sollten, um weiterhin Sicherheitspatches zu erhalten. Weitere Informationen finden Sie auf der Seite RHEL Anwendungs-Streams Lifecycle.
Zentralisierte Verwaltung von Identitätszuordnungen
Rootless Podman ist eine großartige Technologie. Es verbessert die Container-Sicherheit, indem es sie als Nicht-Root-Benutzer ausführt, auf dieselbe Weise, wie reguläre Prozesse auf einem System ausgeführt werden. Dies bedeutet, dass ein angreifender Workload aus einer zusätzlichen Sicherheitsebene ausbrechen muss, indem er zuerst die Container-Steuerelemente durchläuft und dann einen Weg findet, um Root zu werden. Dies ist ideal für große Flotten von Laptops/Desktops, in HPC-Umgebungen und sogar für Entwickler auf gemeinsam genutzten Servern.
Die Verwaltung einer großen Anzahl von Nicht-Root-Benutzern über große Flotten von RHEL-Workstations, HPC-Knoten oder gemeinsam genutzten Servern war jedoch in der Vergangenheit ziemlich schwierig, da ein Administrator /etc/subuid- und /etc/sugid-Dateien manuell auf jedem Knoten verwalten musste.
Diese Zeiten sind nun vorbei. Mit RHEL 9 haben wir eine Funktion in Identity Management (IdM) eingeführt, mit der Administratoren Rootless-Podman-Benutzer für eine Flotte von Benutzern und RHEL-Knoten einfach verwalten können. Benutzer können einem einzelnen Benutzer oder allen Benutzern in einem Verzeichnisserver subuids/subgids zuweisen. Das ist wirklich praktisch. Weitere Informationen finden Sie in Kapitel 29. Manuelles Verwalten von SubID-Bereichen.
Unterstützung für NFS für Container-Storage
Wie bereits erwähnt, ist Rootless Podman eine großartige Funktion, und häufig haben Administratoren viele Benutzer auf vielen Knoten (Workstations, HPC, freigegebene Entwicklerserver usw.). In diesen Situationen möchten Benutzer ihre Daten mitbringen. Wenn sie beispielsweise einen „Podman-Pull“ auf einem Knoten durchführen, möchten sie, dass dieses Image auf jedem Knoten im Cluster verfügbar ist. Eine einfache Möglichkeit, dies mit normalen Prozessen zu tun, ist mit NFS, aber dies hat in der Vergangenheit mit Podman/Containern nicht funktioniert.
Mit dieser neuen Funktion kann Podman jetzt Daten auf jedem NFS-Server speichern, der erweiterte Attribute (xattrs) unterstützt. Nicht-root/rootless-Benutzer können ein Image einmal abrufen und überall dort verwenden, wo ihr Home-Verzeichnis verfügbar ist. Dies ist äußerst praktisch bei Workstations, HPC-Knoten oder sogar gemeinsam genutzten Entwicklungsservern, auf denen CI/CD ausgeführt wird. Weitere Informationen finden Sie in diesem Upstream-Artikel: Neue Funktion für die Ausführung von Containern auf NFS mit Rootless Podman
Erweiterter Netzwerk-Stack für Podman 4.0
In der Version von RHEL 9 mit Podman 4.X steht Benutzern ein neuer Netzwerk-Stack zur Verfügung. Es bietet neue Funktionen wie eine bessere IPv6-Unterstützung, eine verbesserte Unterstützung für Container in mehreren Netzwerken und eine verbesserte Leistung.
Der folgende Artikel bietet einen hervorragenden Überblick: Der neue Netzwerk-Stack von Podman 4.0: Die wichtigsten Fakten.
Portierbares Zertifikat und Signatur-Container
Mit der Veröffentlichung von RHEL 8.4 haben wir UBI Micro eingeführt, eines der kleinsten und schnellsten Container-Images der Branche (Einführung in UBI Micro von Red Hat).
Mit der Veröffentlichung von RHEL 9 haben wir auf dieser Technologie aufgebaut, um ein winziges (12,5 MB) OpenSSL-Container-Image zu erstellen, das für einfache kryptografische Anwendungsfälle wie das Generieren von SSL-Zertifikatsanforderungen, das Verifizieren von SSL-Zertifikaten oder sogar das Signieren von Dateien verwendet werden kann.
Dadurch erhalten Entwickler eine standardisierte Möglichkeit, vertrauenswürdige kryptografische Use Cases in der Produktion oder auf ihren Desktops/Laptops durchzuführen. Wie bei anderen Red Hat Universal Base Imageskönnen Sie und Ihre Entwickler dieses neue portable Zertifikat und den Signaturcontainer an vielen Orten verwenden und verteilen.
![Portable certificate and signing container Portable certificate and signing container](/rhdc/managed-files/styles/wysiwyg_full_width/private/rhel-9-container-technologies-image4.png.webp?itok=hjqRHPR0)
Weitere Informationen finden Sie in der Auflistung im Red Hat Ecosystem Catalog
crun wird zur Standard-Container-Laufzeit in RHEL 9.0
2020 führten Red Hat Mitwirkende crun ein, eine schnelle, speicherarme Container-Runtime, die OCI-kompatibel ist. In RHEL 9 machen wir crun zur Standard-Container-Runtime. Sowohl crun als auch runc werden während des gesamten Lebenszyklus von RHEL 9 unterstützt.
Die Umstellung auf crun als Standard vereinfacht viele Aufgaben für Administratoren, die sich um Low-Level-Konfigurationsaufgaben kümmern, verbessert die Leistung und Speicherauslastung und ermöglicht viele Arten von coolen Use Cases. Weitere Informationen finden Sie hier: Eine Einführung in crun, eine schnelle Container-Laufzeit mit geringem Speicherbedarf
Control Group v2 (cgroup 2) wird zum Standard in RHEL 9 und Podman
Das Projekt cgroup 2 beschreibt sich selbst als: „ eine Linux-Kernel-Komponente, die einen Mechanismus zum Isolieren, Messen und Steuern der Verteilung von Ressourcen für eine Sammlung von Prozessen auf einem Server bereitstellt.“ Dadurch erhalten Administratoren und Infrastruktursoftware wie Container Engines und Runtimes einen leistungsstarken Mechanismus, um die von einem bestimmten Prozess verwendeten Ressourcen zu begrenzen, was besonders bei Containern nützlich ist.
Während cgroup 2 erstmals in RHEL 8 unterstützt wurde, musste sie zuerst von einem Benutzer aktiviert und neu gestartet werden. Mit RHEL 9 ist cgroup 2 der Standardmechanismus, der eine genauere Kontrolle über Rootless-Container ermöglicht (First Look: Rootless Container und cgroup v2 auf Fedora 31). Eine gute Einführung in cgroup 2 finden Sie unter: Die Welt beherrschen mit cgroups in RHEL 8: Willkommen cgroups v2!
Fazit
In RHEL 9.0 mit Podman 4.0.2 gibt es viele großartige neue Container-Funktionen, aber viele dieser Funktionen sind auch in RHEL 8.6 verfügbar. Ganz gleich, ob Sie auf die neueste und beste Version umsteigen oder mehr aus einer vorhandenen Installation herausholen möchten, das Design und die Architektur des Anwendungs-Streams der Container-Tools sind genau das Richtige für Sie.
Mit RHEL 9 bieten wir weiterhin schnellen Zugriff auf die neuesten Versionen von Podman, Buildah und Skopeo, aber jetzt bieten wir Ihnen auch Zugriff auf einen stabilen Stream über EUS. Wir haben versucht, RHEL 9 für unsere Kunden noch benutzerfreundlicher zu machen, und hoffen, dass es Ihnen gefällt. Wir freuen uns über Ihr Feedback.
Gerne können Sie dieses Feedback unserem neuen Product Manager für Container Tools, Mark Russell (https://www.linkedin.com/in/marrusl/), unserem RHEL Server Product Manager, Scott McCarty (@fatherlinux), unserem Technical Marketing Manager Eric Hendricks (@itguyeric) oder an unseren offiziellen Red Hat Enterprise Linux Account (@rhel) schicken.
Über die Autoren
At Red Hat, Scott McCarty is Senior Principal Product Manager for RHEL Server, arguably the largest open source software business in the world. Focus areas include cloud, containers, workload expansion, and automation. Working closely with customers, partners, engineering teams, sales, marketing, other product teams, and even in the community, he combines personal experience with customer and partner feedback to enhance and tailor strategic capabilities in Red Hat Enterprise Linux.
McCarty is a social media start-up veteran, an e-commerce old timer, and a weathered government research technologist, with experience across a variety of companies and organizations, from seven person startups to 20,000 employee technology companies. This has culminated in a unique perspective on open source software development, delivery, and maintenance.
Nach Thema durchsuchen
Automatisierung
Das Neueste zum Thema IT-Automatisierung für Technologien, Teams und Umgebungen
Künstliche Intelligenz
Erfahren Sie das Neueste von den Plattformen, die es Kunden ermöglichen, KI-Workloads beliebig auszuführen
Open Hybrid Cloud
Erfahren Sie, wie wir eine flexiblere Zukunft mit Hybrid Clouds schaffen.
Sicherheit
Erfahren Sie, wie wir Risiken in verschiedenen Umgebungen und Technologien reduzieren
Edge Computing
Erfahren Sie das Neueste von den Plattformen, die die Operations am Edge vereinfachen
Infrastruktur
Erfahren Sie das Neueste von der weltweit führenden Linux-Plattform für Unternehmen
Anwendungen
Entdecken Sie unsere Lösungen für komplexe Herausforderungen bei Anwendungen
Original Shows
Interessantes von den Experten, die die Technologien in Unternehmen mitgestalten
Produkte
- Red Hat Enterprise Linux
- Red Hat OpenShift
- Red Hat Ansible Automation Platform
- Cloud-Services
- Alle Produkte anzeigen
Tools
- Training & Zertifizierung
- Eigenes Konto
- Kundensupport
- Für Entwickler
- Partner finden
- Red Hat Ecosystem Catalog
- Mehrwert von Red Hat berechnen
- Dokumentation
Testen, kaufen und verkaufen
Kommunizieren
Über Red Hat
Als weltweit größter Anbieter von Open-Source-Software-Lösungen für Unternehmen stellen wir Linux-, Cloud-, Container- und Kubernetes-Technologien bereit. Wir bieten robuste Lösungen, die es Unternehmen erleichtern, plattform- und umgebungsübergreifend zu arbeiten – vom Rechenzentrum bis zum Netzwerkrand.
Wählen Sie eine Sprache
Red Hat legal and privacy links
- Über Red Hat
- Jobs bei Red Hat
- Veranstaltungen
- Standorte
- Red Hat kontaktieren
- Red Hat Blog
- Diversität, Gleichberechtigung und Inklusion
- Cool Stuff Store
- Red Hat Summit