Jump to section

Was ist eine Container Registry?

URL kopieren

Eine Container Registry ist ein Repository oder eine Sammlung von Repositories, in der Container Images gespeichert werden und auf diese Images zugegriffen werden kann. Container Registries können die containerbasierte Anwendungsentwicklung unterstützen, was häufig im Rahmen von DevOps-Prozessen geschieht. Container Registries können eine direkte Verbindung zu Container-Orchestrierungsplattformen wie Docker und Kubernetes herstellen. 

Container Registries sparen Entwicklungsteams wertvolle Zeit bei der Erstellung und Bereitstellung cloudnativer Anwendungen, da sie als Vermittler für die gemeinsame Nutzung von Container Images zwischen Systemen fungieren.

Ein Container Image enthält die Dateien und Komponenten, aus denen eine Anwendung besteht. Im Gegensatz zu virtuellen Maschinen (VMs) sind Container schlanke Softwarepakete, die auf dem Betriebssystem Linux® ausgeführt werden. Container Images können multipliziert werden und lassen sich so gemäß dem jeweiligen Bedarf von Workloads skalieren. Sie werden häufig mit agiler Entwicklung, DevOps-Methoden und CI/CD (Continuous Integration/Continuous Delivery) in Verbindung gebracht. 

Container Images enthalten System-Libraries, Systemtools und andere Plattformeinstellungen, die Ihre Apps zur Ausführung benötigen. Damit bieten sie Entwicklungsteams die Portierbarkeit und Agilität, Anwendungen schnell zu erweitern oder neue Anwendungen zu erstellen.

Mit einem Open Source-Tool wie Buildah können Sie OCI- und Docker-kompatible Images erstellen – und zwar mit oder ohne Dockerfiles bzw. vorhandene Container Images als Ausgangspunkt. Dadurch vermeiden Sie unnötige Spekulationen und Unsicherheiten. 

Wenn Sie mit Container Images arbeiten, müssen Sie sie während der Erstellung speichern und/oder darauf zugreifen können. Und genau hier kommt die Container Registry ins Spiel. 

Eine Container Registry dient Entwicklungsteams im Wesentlichen als Ort, an dem sie Container Images speichern und durch das Hochladen (Pushing) und Herunterladen (Pulling) für andere Systeme freigeben können, etwa für einen Kubernetes-Cluster

Nachdem Sie das Image abgerufen bzw. heruntergeladen haben, kann die darin enthaltene Anwendung auf diesem System ausgeführt werden.

Neben Container Images werden in Registries auch API-Pfade (Application Programming Interface) und Zugriffskontrollparameter für die Kommunikation zwischen Containern gespeichert. Mit APIs können Sie unbeabsichtigte Kopplungen vermeiden, die Änderungen einschränken und eine häufige Ursache für Ausfälle sind, insbesondere in Hybrid Cloud-Umgebungen, in denen sich Anwendungen nicht mehr im selben Rechenzentrum befinden.

Container Images können auch über ein Service Mesh miteinander kommunizieren, einer Infrastrukturschicht zwischen containerisierten Services, die bei der Skalierung hilft. Bei cloudnativen Apps, die in eine Microservice-Architektur integriert sind, kann ein Service Mesh eine große Zahl an getrennten Services zu einer funktionsfähigen Anwendung zusammenfassen.

Laut der Cloud Native Computing Foundation bilden Microservices und Container (einschließlich Container Images und Registries) zusammen die Basis der cloudnativen Anwendungsentwicklung. Container und Microservices sind eigenständig und dadurch ein leistungsstarkes Tool für die Entwicklung portabler, cloudnativer Anwendungen. 

Container isolieren die Anwendungsprozesse, Runtime-Dateien und Betriebssystemabhängigkeiten vom Rest des Systems. Sie versprechen eine größere Portierbarkeit in Hybrid Cloud-Umgebungen und können für viel kürzere Zeiträume bereitgestellt werden als virtuelle Maschinen (VMs). Dies erleichtert es Entwicklungsteams, die benötigten Daten in eine Container Registry zu übertragen und aus ihr abzurufen. So können sie sich auf die Entwicklung guter Produkte konzentrieren, ohne sich von zugrunde liegenden Infrastruktur- oder Ausführungsdetails ablenken zu lassen.

In einer DevOps-Umgebung können Entwicklerinnen und Entwickler durch die Verwendung von Containern  und Container Images/Registries  Anwendungsservices unabhängig bereitstellen. Dadurch müssen sie keine Codeänderungen mehr zusammenführen, verbessern Tests und vereinfachen die Fehlerisolierung in Test- und Produktivumgebungen.

Es gibt zwei Arten von Container Registries: öffentliche und private.

Öffentliche Registries werden häufig von Einzelpersonen oder kleinen Teams verwendet, die ihre Registry so schnell wie möglich einrichten möchten. Wenn die Organisation dann wächst, kann es dabei jedoch zu komplexen Sicherheitsproblemen in Bereichen wie Patching, Datenschutz und Zugriffskontrolle kommen. 

Private Registries bieten die Möglichkeit, Sicherheit und Datenschutz in den Image Storage von unternehmensgerechten Containern zu integrieren, die entweder remote oder lokal gehostet werden. Diese privaten Registries bieten häufig erweiterte Sicherheitsfunktionen und technischen Support. 

Die meisten Cloud-Anbieter stellen private Image-Registry-Services bereit: Google bietet die Google Container Registry, AWS bietet die Amazon Elastic Container Registry (ECR) und Microsoft die Azure Container Registry.

Die Verwendung einer privaten, internen Registry bietet das größte Sicherheits- und Konfigurationspotenzial, erfordert jedoch eine sorgfältige Verwaltung. Außerdem sollten Sie sicherstellen, dass die Infrastruktur und Zugriffskontrollen der Registry in Ihrem Unternehmen verbleiben. 

Bei der Auswahl eines privaten Container-Registry-Service für Ihr Unternehmen sollten Sie u. a. auf Folgendes achten:

  • Unterstützung für mehrere Authentifizierungssysteme

  • RBAC-Management (Role-based Access Control) für lokale Images

  • Schwachstellen-Scanning für mehr Sicherheit und erweiterte Konfigurationen

  • Erfassung der Nutzung in auditierbaren Protokollen zwecks Rückführung der Aktivitäten auf individuelle Nutzende

  • Optimierung für eine Automatisierung

Die unternehmensgerechten Features einer privaten Registry ermöglichen Unternehmen den sicheren und effizienten internen Zugriff auf Container Images. Mehrere Authentifizierungssysteme richten Maßnahmen ein, um das in der Registry gespeicherte Container Image zu verifizieren. 

So muss das Image etwa von der Person, die es hochlädt, digital signiert werden, bevor es an die Registry übertragen werden kann, um die Aktivitätsverfolgung zu aktivieren und nicht autorisierte Uploads durch Nutzende zu verhindern.

Mithilfe von RBAC können Sie verwalten, welche Benutzeraktionen je nach Rolle der Person zulässig sind. Entwicklerinnen und Entwickler benötigen beispielsweise Zugriff zum Hochladen in die und/oder zum Herunterladen aus der Registry, Teammitglieder oder Testerinnen und Tester brauchen jedoch lediglich Zugriff zum Herunterladen. Für Organisationen mit einem Benutzerverwaltungssystem wie AD (Active Directory) oder LDAP (Lightweight Directory Access Protocol) kann dieses System direkt mit der Container Registry verknüpft und für RBAC verwendet werden.

Ein Unternehmen kann entweder eine eigene Container Registry entwickeln und bereitstellen oder einen kommerziell unterstützten privaten Registry-Service verwenden. 

Red Hat® OpenShift® ist eine unternehmensgerechte Kubernetes-Container-Plattform, mit der Sie für Konsistenz in den verschiedensten Cloud-Infrastrukturen sorgen und Hybrid Cloud-, Multi-Cloud- und Edge-Deployments verwalten können. Mit Red Hat OpenShift lässt sich eine Umgebung für neue Microservices oder Anwendungen in wenigen Minuten bereitstellen. Neben anderen Cloud-Services wie Middleware, Sprachen, Frameworks und Datenbanken enthält es bereits eine private Registry, die grundlegende Funktionen zur Verwaltung von Container Images bietet. 

Private Registries können als Teil eines von Red Hat OpenShift gemanagten Services mit einem Cloud-Anbieter aus dem umfassenden Partnernetzwerk von Red Hat bereitgestellt werden und bieten ein nahtloses IT-Erlebnis auf Azure, Amazon Web Services (AWS), IBM Cloud oder Google Cloud. Red Hat OpenShift unterstützt außerdem die Integration mit anderen privaten Registries, die Sie möglicherweise bereits verwenden, wie Artifactory von JFrog oder Sonatype Nexus.

Red Hat bietet auch selbst gemanagte Services auf Hybrid Cloud-Basis mit verbesserten Sicherheitsfunktionen und zusätzlichen Softwareelementen für Ihr Rechenzentrum. Wenn Sie eine Registry mit erweiterten Sicherheits- und technischen Supportfunktionen benötigen, ist Red Hat Quay als skalierbare unternehmensgerechte Standalone-Option verfügbar.

Weiterlesen

ARTIKEL

Zustandsbehaftet oder zustandslos?

Ob etwas zustandsbehaftet oder zustandslos ist, hängt davon ab, wie lange der Zustand der Interaktion erfasst wird und wie diese Informationen gespeichert werden müssen.

ARTIKEL

Was ist Quarkus?

Quarkus ist ein Kubernetes-nativer Java Stack für Java Virtual Machines (JVMs) und native Kompilierung, mit dem Java speziell für Container optimiert wird.

ARTIKEL

Was ist Serverless?

Der Begriff „Serverless" (serverlos) bezieht sich auf ein cloudnatives Entwicklungsmodell, bei dem Entwickler Anwendungen erstellen und ausführen können, ohne Server verwalten zu müssen.

Mehr über cloudnative Anwendungen erfahren

Produkte

Eine Plattform, die es Ihnen ermöglicht, Unternehmensanwendungen schnell und effizient über die von Ihnen gewünschte Infrastruktur bereitzustellen.

Ressourcen

Training

Kostenloses Training

Developing Cloud-Native Applications with Microservices Architectures