Erstellen, teilen, zusammenarbeiten

Container sind eine leichtgewichtige Version des Benutzerbereichs des Linux-Betriebssystems – tatsächlich das absolute Minimum. Allerdings handelt es sich immer noch um ein vollwertiges Betriebssystem und daher ist die Qualität dieses Containers selbst genauso wichtig wie die Qualität eines vollwertigen Betriebssystems. Deshalb bieten wir seit langem an Red Hat Enterprise Linux (RHEL)-Images, sodass Benutzer über zertifizierte, moderne und aktuelle Container der Enterprise-Klasse verfügen können. Start Containerbilder (Container-Images) RHEL auf Container-Hosts RHEL bietet Kompatibilität und Portabilität zwischen Umgebungen, ganz zu schweigen von der Tatsache, dass es sich hierbei um bereits bekannte Tools handelt. Es gab jedoch ein Problem. Sie könnten dieses Image nicht einfach an jemand anderen weitergeben, selbst wenn es ein Kunde oder Partner wäre, der Red Hat Enterprise Linux ausführt.

Erstellen, teilen, zusammenarbeiten

Aber jetzt hat sich alles geändert

Mit der Veröffentlichung des Red Hat Universal Base Image (UBI) können Sie nun die Zuverlässigkeit, Sicherheit und Leistung erhalten, die Sie von offiziellen Red Hat-Container-Images erwarten, unabhängig davon, ob Sie ein Abonnement haben oder nicht. Das bedeutet, dass Sie eine Containeranwendung auf UBI erstellen, sie in die Container-Registrierung Ihrer Wahl einfügen und mit der Welt teilen können. Mit Red Hat Universal Base Image können Sie in jeder Umgebung – wo Sie möchten – eine Containeranwendung erstellen, freigeben und gemeinsam daran arbeiten.

Erstellen, teilen, zusammenarbeiten

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

Erstellen, teilen, zusammenarbeiten

Und jetzt, da wir mit dem Marketing zufrieden sind, sprechen wir ausführlicher über UBI

Gründe für die Verwendung von UBI

Wie sollten Sie sich fühlen, wenn Sie wissen, dass UBI für Sie von Vorteil ist:

  • Meine Entwickler Sie möchten Container-Images verwenden, die in jeder Umgebung verteilt und ausgeführt werden können
  • Mein Team Geschäftstätigkeit möchte ein unterstütztes Basis-Image mit einem Lebenszyklus der Enterprise-Klasse
  • Meine Architekten anbieten möchte Kubernetes-Operator an meine Kunden/Endbenutzer
  • Meine Kunden Sie wollen sich nicht mit unternehmensweitem Support für ihre gesamte Red Hat-Umgebung überfordern
  • meine die Gemeinschaft möchte Containeranwendungen buchstäblich überall teilen, ausführen und veröffentlichen

Wenn mindestens eines der Szenarios zu Ihnen passt, dann sollten Sie sich unbedingt UBI anschauen.

Mehr als nur ein einfaches Bild

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

  1. Ein Satz von drei Basisbildern (ubi, ubi-minimal, ubi-init)
  2. Bilder mit vorgefertigten Laufzeitumgebungen für verschiedene Programmiersprachen (nodejs, ruby, python, php, perl, etc.)
  3. Eine Reihe verwandter Pakete im YUM-Repository mit den häufigsten Abhängigkeiten

Erstellen, teilen, zusammenarbeiten

UBI wurde als Grundlage für Cloud-native und Webanwendungen geschaffen, die in Containern entwickelt und bereitgestellt werden. Alle Inhalte in UBI sind eine Teilmenge von RHEL. Alle Pakete in UBI werden über RHEL-Kanäle bereitgestellt und ähnlich wie RHEL unterstützt, wenn sie auf von Red Hat unterstützten Plattformen wie OpenShift und RHEL ausgeführt werden.

Erstellen, teilen, zusammenarbeiten

Die Sicherstellung eines qualitativ hochwertigen Supports für Container erfordert einen hohen Aufwand von Ingenieuren, Sicherheitsspezialisten und anderen zusätzlichen Ressourcen. Dies erfordert nicht nur das Testen der Basis-Images, sondern auch die Analyse ihres Verhaltens auf jedem unterstützten Host.

Um die Belastung durch Upgrades zu verringern, entwickelt und unterstützt Red Hat proaktiv, sodass UBI 7 beispielsweise auf RHEL 8-Hosts und UBI 8 auf RHEL 7-Hosts ausgeführt werden kann. Dies gibt Benutzern die Flexibilität, Sicherheit und Sicherheit von Beachten Sie, dass sie während des Prozesses benötigt werden, z. B. Plattformaktualisierungen in Container-Images oder verwendeten Hosts. Nun lässt sich das alles in zwei unabhängige Projekte aufteilen.

Drei Grundbilder

Erstellen, teilen, zusammenarbeiten

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

  • Mindestsatz vorinstallierter Inhalte
  • Keine suid ausführbaren Dateien
  • Minimale Paketmanager-Tools (Installation, Aktualisierung und Entfernung)

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

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

Multi-Service – erleichtert die Ausführung mehrerer Dienste in einem Container

  • Konfiguriert, um systemd beim Start auszuführen
  • Möglichkeit, Dienste in der Build-Phase zu aktivieren

Container-Images mit vorgefertigten Programmiersprachen-Laufzeitumgebungen

Neben Basis-Images, mit denen Sie die Unterstützung für Programmiersprachen installieren können, enthalten UBIs vorgefertigte Images mit vorgefertigten Laufzeitumgebungen für eine Reihe von Programmiersprachen. Viele Entwickler können sich einfach das Image schnappen und mit der Arbeit an der Anwendung beginnen, die sie entwickeln.

Mit der Einführung von UBI bietet Red Hat zwei Sätze von Images an – basierend auf RHEL 7 und basierend auf RHEL 8. Sie basierten jeweils auf Red Hat Software Collections (RHEL 7) und Application Streams (RHEL 8). Diese Laufzeiten werden auf dem neuesten Stand gehalten und erhalten standardmäßig bis zu vier Updates pro Jahr, sodass Sie immer die neuesten und stabilsten Versionen verwenden.

Hier ist eine Liste der UBI 7-Container-Images:

Erstellen, teilen, zusammenarbeiten

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

Erstellen, teilen, zusammenarbeiten

Zugehörige Pakete

Die Verwendung vorgefertigter Bilder ist wirklich sehr praktisch. Red Hat hält sie auf dem neuesten Stand und aktualisiert sie mit der Veröffentlichung einer neuen Version von RHEL sowie, wenn kritische CVE-Updates gemäß der Update-Richtlinie verfügbar werden RHEL-Image-Richtlinie sodass Sie eines dieser Bilder aufnehmen und sofort mit der Arbeit an der Anwendung beginnen können.

Erstellen, teilen, zusammenarbeiten

Aber manchmal benötigen Sie beim Erstellen einer Anwendung plötzlich ein zusätzliches Paket. Oder manchmal müssen Sie das eine oder andere Paket aktualisieren, damit die Anwendung funktioniert. Aus diesem Grund werden UBI-Bilder mit einer Reihe von RPMs geliefert, die über yum erhältlich sind und über ein schnelles und hochverfügbares Content-Delivery-Netzwerk verteilt werden (Sie haben das Paket!). Wenn Sie an diesem kritischen Veröffentlichungspunkt ein Yum-Update auf Ihrem CI/CD ausführen, können Sie sicher sein, dass es funktioniert.

RHEL ist die Grundlage

Wir werden nicht müde zu wiederholen, dass RHEL die Basis von allem ist. Wissen Sie, welche Teams bei Red Hat an der Erstellung von Basis-Images arbeiten? Zum Beispiel diese:

  • Das Ingenieurteam ist dafür verantwortlich, sicherzustellen, dass Kernbibliotheken wie Glibc und OpenSSL sowie Sprachlaufzeiten wie Python und Ruby eine konsistente Leistung bieten und Workloads bei Verwendung in Containern zuverlässig ausführen.
  • Das Produktsicherheitsteam ist für die rechtzeitige Korrektur von Fehlern und Sicherheitsproblemen in Bibliotheken und Sprachumgebungen verantwortlich. Die Wirksamkeit ihrer Arbeit wird anhand eines speziellen Index bewertet Note des Container Health Index.
  • Ein Team aus Produktmanagern und Ingenieuren ist bestrebt, neue Funktionen hinzuzufügen und einen langen Produktlebenszyklus sicherzustellen, sodass Sie auf Ihre Investition vertrauen können, auf der Sie aufbauen können.

Red Hat Enterprise Linux eignet sich hervorragend als Host und Image für Container, viele Entwickler schätzen jedoch die Möglichkeit, mit dem System in einer Vielzahl von Formaten zu arbeiten, von denen einige möglicherweise außerhalb der unterstützten Anwendungsfälle des Linux-Systems liegen. Hier kommen universelle UBI-Bilder zur Rettung.

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

Erstellen, teilen, zusammenarbeiten

Container umfassen eine schlanke Version des Benutzerbereichs des Betriebssystems in einem neuen Verpackungsformat. Die Veröffentlichung von UBI-Images setzt einen neuen Industriestandard für die Containerentwicklung und macht Container der Enterprise-Klasse für jeden Benutzer, unabhängige Softwareentwickler und Open-Source-Communitys verfügbar. Insbesondere können Softwareentwickler ihre Produkte mithilfe einer einzigen, bewährten Grundlage für alle ihre Containeranwendungen standardisieren, einschließlich Kubernetes-Operatoren. Entwicklungsunternehmen, die UBI nutzen, haben außerdem Zugriff auf die Red Hat Container-Zertifizierung und die Red Hat OpenShift Operator-Zertifizierung, was wiederum eine kontinuierliche Überprüfung von Software ermöglicht, die auf Red Hat-Plattformen wie OpenShift ausgeführt wird.

Erstellen, teilen, zusammenarbeiten

So beginnen Sie mit der Arbeit mit einem Bild

Kurz gesagt, es ist sehr einfach. Podman ist nicht nur auf RHEL, sondern auch auf Fedora, CentOS und mehreren anderen Linux-Distributionen verfügbar. Sie müssen lediglich das Bild aus einem der folgenden Repositories herunterladen und schon kann es losgehen.

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 den vollständigen Universal Base Image Guide an

Source: habr.com

Kommentar hinzufügen