zhu difeng - Fotolia

Bestandteile und Vorteile der Container-Orchestrierung mit Google Kubernetes

Ohne Orchestrierungs-Tool lässt sich kaum eine komplexe Container-Architektur verwalten. Google Kubernetes bietet hierfür umfangreiche Funktionen.

Das Bereitstellen von einem oder zwei Containern für die Softwareentwicklung auf einem Laptop ist vergleichsweise einfach. Das Aufsetzen einer produktiven Multi-Tier-Anwendung, ohne dabei zusätzliche Tools zu verwenden, ist aber eine ganz andere Sache.

Die meisten Container-Applikationen in Produktivumgebungen bestehen aus mehreren Containern, die über verschiedene physische oder virtuelle Hosts verteilt sind. Die Komplexität wird durch automatisierte Container-Deployments noch zusätzlich vergrößert, ganz zu schweigen von Situationen, in denen die Umgebung skaliert werden muss, um eine steigende Nachfrage zu befriedigen.

Für die Container-Bereitstellung in Produktivumgebungen müssen IT-Abteilungen also einen Weg finden, wie sich komplexe Container-Architekturen skalieren, automatisieren und verwalten lassen. Gefragt sind also Tools zur Container-Orchestrierung.

Kernelemente der Container-Orchestrierung mit Kubernetes

Laufende Anwendungen benötigen Support durch Load Balancing, unterbrechungsfreie Updates, Monitoring und Autoskalierung. Container-Orchestrierungs-Tools wie die Open-Source-Lösung Kubernetes füllen diese Lücke zwischen Test/Entwicklung und Produktivsystem.

Container-Orchestrierungs-Tools verwalten komplexe Applikationen, die aus vielen Containern bestehen, die wiederum auf unterschiedlichen Clustern oder Hosts ausgeführt werden. IT-Abteilungen stellen Container entweder auf physischen Hosts oder als zusätzliche Abstraktionsschicht auf virtuellen Maschinen bereit, deren Hardware dann entweder im eigenen Rechenzentrum oder in der Public Cloud liegt.

Beim Einsatz von Orchestrierungs-Tools für Container-Umgebungen gibt es allerdings eine steile Lernkurve. Auf den ersten Blick kann die Architektur sehr komplex wirken, aber produktive Container-Anwendungen benötigen nun mal ein umfangreiches Management-System. Die Investition in entsprechende Orchestrierungs-Tools wie etwa Kubernetes lohnt sich aber durchaus, immerhin erlangen IT-Abteilungen so die Agilität, um beispielsweise Container-Umgebungen vom lokalen Data Center in die Cloud zu migrieren.

Weitere Artikel zur Container-Orchestrierung:

Container-Virtualisierung mit Kubernetes und GKE

Vergleich zwischen Docker Swarm und Google Kubernetes

CASP: Neue SUSE-Plattform zur Container-Orchestrierung

Container-Orchestrierung mit Mesosphere Marathon

Kubernetes gilt als eines der ausgereiftesten Tools zur Container-Orchestrierung und bietet damit eine umfangreiche Funktionsliste. Kubernetes besteht aus verschiedenen Komponenten, die unterschiedliche Aufgaben wahrnehmen:

  • Controller sind Systeme zur Verwaltung der Container Cluster. Damit wird sichergestellt, dass alle innerhalb eines Clusters bereitgestellten Systeme richtig konfiguriert sind und einem gewünschten Zustand entsprechen.
  • Nodes werden auch als Minions bezeichnet und sind die physischen oder virtuellen Maschinen, auf denen die Docker Engine der Container ausgeführt wird. Hier können unterschiedlichste Container gehostet werden, die innerhalb eines Cluster ausgeführt werden. Nodes wiederum werden von einem Master Controller verwaltet, die Kommunikation erfolgt über ETCD, einem Key-Management-Service.
  • Als Pod wird eine Sammlung von einem oder mehrerer Container eines Nodes bezeichnet. Wenn ein Pod mehrere Container enthält, dann stellt der Cluster Controller sicher, dass jeder dieser Container auf dem gleichen Node ausgeführt wird. Container innerhalb jedes Pods teilen sich Ressourcen wie Disk-Laufwerke. Jedem Pod wird dabei eine einzigartige IP-Adresse im Cluster vergeben, was Port-Konflikten mit anderen Pods des gleichen Nodes vorbeugt.
  • Labels und Selektoren identifizieren Objekte innerhalb der Umgebung. Labels sind einfache Schlüssel-/Wert-Paare, über die sich Komponenten identifizieren lassen. Sobald Administratoren Objekte mit Label aufsetzen, können sie anschließend Selektoren zur Suche aller Objekte nutzen, die die gleichen Label aufweisen. Auch Aufgaben lassen sich über Label an einer ganzen Gruppe an Komponenten durchführen. So könnte man beispielsweise mit nur einem Befehl alle Container herunterfahren, deren Label auf einer bestimmten Versionsnummer basiert.
  • Services sind ein kritisches Element bei jedem Container-Deployment. Services sind Endpunkte, über die mehrere Pods auf unterschiedlichen Nodes zusammenarbeiten, um so eine vollständige Applikationen zu bilden. Pods innerhalb eines Services werden dabei über Labels und Selektoren definiert. Weil alle Container eines Pods innerhalb des gleichen Nodes ausgeführt werden, erhöht sich die Verfügbarkeit der Anwendung, wenn mehrere Pods über verschiedene Hosts verteilt werden. Services bieten auch ein eingebautes Load Balancing, womit Anfragen im Round-Robin-Verfahren über die Pods verteilt werden.

Vorteile beim Einsatz von Kubernetes

Kubernetes wurde von Google schon einige Jahre intern eingesetzt, bevor das Tool als Open-Source-Lösung veröffentlicht wurde. Dadurch ist Kubernetes eine sehr ausgereifte Technologie, die von einer großen Entwicklergemeinde vorangetrieben wird. Andere Orchestrierungs-Tools wie Mesosphere oder Docker Swarm können weder auf eine so große Community noch auf einen so weit zurückliegenden Praxiseinsatz verweisen. Beim Einsatz von Kubernetes gibt es zudem keine Bedenken, proprietäre Lösungen zu verwenden, die beispielsweise nur lokal oder in der Cloud genutzt werden können.

Kubernetes lässt sich sowohl im eigenen Rechenzentrum auf physischen oder virtuellen Maschinen als auch in hybriden Szenarien nutzen. Da sich Container auch innerhalb virtueller Maschinen bereitstellen lassen, kann Kubernetes Container auch auf Basis von AWS, Microsoft Azure oder der Google Compute Engine verwalten.

Folgen Sie SearchDataCenter.de auch auf Twitter, Google+, Xing und Facebook!

Artikel wurde zuletzt im Februar 2017 aktualisiert

Pro+

Premium-Inhalte

Weitere Pro+ Premium-Inhalte und andere Mitglieder-Angebote, finden Sie hier.

Erfahren Sie mehr über Cloud-Anwendungen

Diskussion starten

Schicken Sie mir eine Nachricht bei Kommentaren anderer Mitglieder.

Mit dem Absenden dieser Daten erklären Sie sich bereit, E-Mails von TechTarget und seinen Partnern zu erhalten. Wenn Ihr Wohnsitz außerhalb der Vereinigten Staaten ist, geben Sie uns hiermit Ihre Erlaubnis, Ihre persönlichen Daten zu übertragen und in den Vereinigten Staaten zu verarbeiten. Datenschutz

Bitte erstellen Sie einen Usernamen, um einen Kommentar abzugeben.

- GOOGLE-ANZEIGEN

SearchSecurity.de

SearchStorage.de

SearchNetworking.de

SearchEnterpriseSoftware.de

Close