Meisterlich - der LDK-Stack

Linux, Docker & Kubernetes fördern OpenStack-Innovation

| Autor / Redakteur: Joe Fernandes * / Ulrike Ostler

Red Hat bietet eine Reihe von Möglichkeiten, um die Einführung von Applikations-Containern im Unternehmen zu vereinfachen.
Red Hat bietet eine Reihe von Möglichkeiten, um die Einführung von Applikations-Containern im Unternehmen zu vereinfachen. (Bild: Red Hat)

Ist OpenStack ein Molloch oder doch smart und innovativ? Letzteres zeigt sich etwa an Applikations-Containern im „Docker“-Format und „Kubernetes“, einem Framework zur Verwaltung von Docker-Container-Clustern. Beide zusammen machen aus OpenStack eine leistungsstarke Cloud-Plattform für die Implementierung und den Betrieb von Applikations-Containern.

Während die Offenheit eine zentrale Rolle bei der Weiterentwicklung und Standardisierung von Open-Source-Technologien spielt, interessieren sich Unternehmen eher für Innovationen und wie diese sie dabei unterstützen, geschäftliche Herausforderungen zu meistern.

Linux-Container haben sich in kurzer Zeit zu einer zentralen Methode für die Softwarepaketierung und Applikationsbereitstellung herausgebildet. Container enthalten die komplette Applikationsumgebung, sind schnell betriebsbereit sowie portabel und verbessern damit die Produktivität im Entwicklungsprozess.

Um Applikations-Container effizient einsetzen zu können, bedarf es mehr als einer Runtime-Umgebung und eines Paketierungsformats. Unternehmen benötigen eine vollständige Container-Infrastruktur, das heißt einen umfangreichen Stack für den Betrieb von Containern im eigenen Rechenzentrum und in der Cloud. Dieser umfasst drei zentrale Komponenten: Linux, Docker und Kubernetes.

Linux liefert das Fundament

Linux bildet die Grundlage von OpenStack – einer offenen, skalierbaren Plattform zur Erstellung von Public sowie Private Clouds – und modernen Container-Infrastrukturen. So unterstützt beispielsweise auch Microsoft auf seiner Cloud-Plattform „Azure“ Docker – genauer gesagt Linux-Container.

Red Hat Enterprise Linux 7 Atomic Host wurde speziell für Linux-Container entwickelt und enthält nur die Betriebssystemkomponenten, die für den Betrieb von Container-Applikationen benötigt werden.
Red Hat Enterprise Linux 7 Atomic Host wurde speziell für Linux-Container entwickelt und enthält nur die Betriebssystemkomponenten, die für den Betrieb von Container-Applikationen benötigt werden. (Bild: Red Hat)

Red Hat führte Container in Linux- und RPM-Package-Manager (RPM)-basierten Distributionen wie „Fedora“, „Red Hat Enterprise Linux“ sowie „CentOS“ ein und bietet mit „Red Hat Enterprise Linux Atomic Host“ ein speziell für den Einsatz von Linux-Containern optimiertes Betriebssystem. Das stetig wachsende Interesse an Container-Lösungen zeigt, dass es sich dabei nicht nur um eine Mode-Erscheinung, sondern um einen anhaltenden Trend handelt, der durch die hohe Nachfrage in den Unternehmen zusätzlich unterstützt wird.

Docker setzt sich als Standard durch

Nach sehr kurzer Zeit hat Docker sich bereits als De-facto-Standard durchgesetzt und sein Paketierungsformat etabliert. Unterstützt wird dies durch die Open Container Intitiative (OCI), die sich unter der Leitung der Linux Foundation gründete, und der runC-Referenzimplementierung.

Die OCI befasst sich damit, dass Container-Formate den Prinzipien der Offenheit, Sicherheit und Kompatibilität folgen sowie für die Anwender Interoperabilität und Portabilität sichergestellt sind. Ein Schwerpunkt der Aktivitäten bleibt die Sicherheit sowohl der Container-Images als auch der Container-Inhalte, damit Unternehmen ihre geschäftskritischen Anwendungen in Applikations-Containern betreiben können.

Verwaltung und Steuerung von Containern mit Kubernetes

Das Kubernetes-Projekt hat sich innerhalb eines Jahres zum wichtigsten Orchestrierungs-Tool für Container entwickelt und wird von Unternehmen wie Google, IBM, Intel, Microsoft und Red Hat unterstützt. Im Oktober 2015 beteiligten sich rund 500 Entwickler mit nahezu 20.000 Code-Commits an dem Projekt. Im Bereich der Container-Orchestrierung wird viel innovative Arbeit geleistet. So nutzt Google Kubernetes beispielsweise zur Container-Orchestrierung in großem Maßstab; auch Red Hat setzt Kubernetes als Orchestrierungsinfrastruktur ein.

Der Linux-Docker-Kubernetes (LDK)-Stack bildet die Grundlage für Red Hat OpenShift Enterprise und die Red Hat Atomic Enterprise Platform. Darüber hinaus liefert er das Herzstück der Google Container Engine und für Lösungen anderer Hersteller, die seit der offiziellen Verfügbarkeit von Kubernetes 1.0 erhältlich sind. Der LDK-Stack findet auch immer stärker Eingang in die OpenStack-Kernbereiche Rechenleistung (Compute), Netzwerkfunktionalitäten (Networking) und Speicherplatz (Storage).

OpenStack Compute für Container

Aktuell nutzen bereits viele Unternehmen Red Hat Enterprise Linux als OpenStack-Gast- sowie Red Hat Enterprise Linux Atomic als Container-optimiertes Gast-Betriebssystem. Zur Verwaltung der Container in virtuellen Maschinen kommt die OpenStack-Komponente Nova zum Einsatz. Container, die auf Bare-Metal-Hosts und damit direkt auf der Hardware laufen, werden mit der OpenStack-Komponente „Ironic“ eingerichtet und betrieben.

Red Hat Enterprise Container Stack: allgemeine und spezielle Bausteine einer Container-Infrastruktur im Unternehmen.
Red Hat Enterprise Container Stack: allgemeine und spezielle Bausteine einer Container-Infrastruktur im Unternehmen. (Bild: Red Hat)

„OpenStack-Heat“-Templates vereinfachen die Provisionierung neuer Container-Host-Cluster. Die darauf laufenden Applikationen lassen sich mit Kubernetes verwalten. In Kürze soll es möglich sein, Kubernetes-Knoten nach Bedarf und flexibel bereitzustellen oder zu deaktivieren.

OpenStack Networking für Container

Auf Basis der Networking-Ressourcen von Kubernetes lassen sich Container, die auf unterschiedlichen Hosts laufen, miteinander verbinden. Bei Kubernetes verfügt jeder Container („Pod“) über eine eigene IP-Adresse und kann daher mit anderen Pods kommunizieren – und zwar unabhängig davon, auf welchen Hosts die Container laufen.

Anwender können in OpenStack-Umgebungen aber auch die Komponente „Neutron“ und deren umfangreiches Ecosystem von Networking-Plugins zur Vernetzung von Containern nutzen. Sowohl in der OpenStack- als auch in der Kubernetes-Community laufen Arbeiten, um Neutron mit den Networking-Funktionalitäten von Kubernetes zu verknüpfen.

OpenStack Storage für Container

Mit „Storage Volumes“ von Kubernetes können Anwender Stateful-Services zusammen mit Datenbank-, Message-Queue- oder anderen Stateful-Applikations-Containern einsetzen. Die Container lassen sich unter Zuhilfenahme von Kubernetes-Plugins wie „NFS“, iSCSI, „Gluster“ und „Ceph“ mit persistenten Storage-Clustern verbinden. Das aktuell in der Entwicklung befindliche OpenStack-„Cinder“-Storage-Plugin soll die Verwaltung von Storage-Volumes mit Hilfe von OpenStack Cinder ermöglichen.

Der LDK-Stack lässt sich direkt in die Compute-, Networking- und Storage-Services von OpenStack integrieren und stellt eine Infrastrukturplattform für den Betrieb von Containern bereit. Darüber hinaus gibt es weitere Bereiche, die für den Aufbau einer Container-basierten Infrastruktur von Bedeutung sind:

Container-Sicherheit: Oft werden bei Interessenten Bedenken hinsichtlich der Sicherheit von Applikations-Containern geäußert. Die erste Maßnahme besteht daher in einer Multi-Tenant-Isolierung, damit Container keinen Zugriff auf die Ressourcen anderer Container und die des zugrundeliegenden Hosts erhalten.

Red Hat hat auf diesem Gebiet unter anderem die Integration von „SELinux“ in Docker vorangetrieben und bietet damit ein mehrstufiges Sicherheitsmodell zur Isolierung von Containern. Ein weiteres Beispiel sind privilegierte Container und User Namespaces.

Der zweite Bereich zu Verbesserung der Sicherheit von Container-Images ist die Zertifizierung. Hier gibt es Fortschritte beim Sicherheits-Scan und der Zertifizierung von Containern. Die Zusammenarbeit von Red Hat und Black Duck etwa unterstützt Entwicklern bei der Erstellung und dem Betrieb sicherer und vertrauenswürdiger Applikationen, die auf Container-Technologien basieren.

Enterprise Registry: Mit einer Docker Registry, wie sie Red Hat für OpenShift und Atomic anbietet, können Unternehmen ihre Docker-Images für den Einsatz im Unternehmen sicher verwalten. Administratoren legen die Benutzerrechte für den Zugriff auf Images fest, kümmern sich um die Images-Updates und definieren, welche Images für den Betrieb zugelassen sind.

Logging und Metriken: Red Hat hat den „Elasticsearch“, „Logstash“ und „Kibana“ – den so genannten ELK-Stack – bereits in die Red Hat Enterprise Linux OpenStack Platform integriert. Administratoren sind damit in der Lage, aggregierte Logs zu nutzen und können damit auch den Zugriff für Entwickler vereinfachen. Zudem lassen sich auf dieser Basis integrierte Metriken für Applikations-Container und Container-Infrastrukturen erzeugen.

Letztlich geht es beim Container-Ansatz um effizientere Möglichkeiten der Softwarepaketierung und Applikationsbereitstellung. Entwickler profitieren dabei von den Möglichkeiten der Portabilität, schnelleren Implementierungszeiten und einem umfangreichen Ökosystem sofort einsatzfähiger Container-Images für ein breites Spektrum von Anwendungsszenarien.

Wo Applikationen verstärkt aus Komponenten bestehen und einer Microservices-Architektur folgen, bieten Container eine effiziente Möglichkeit, diese Microservices ohne den bei traditionellen virtuellen Maschinen üblichen Overhead zu implementieren.

* Joe Fernandes ist Senior Director, OpenShift and Atomic, bei Red Hat

Kommentare werden geladen....

Kommentar zu diesem Artikel

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Kontaktieren Sie uns über: support.vogel.de/ (ID: 44404763 / Container & Virtualisierung)