Definition: Orchestrierung von Containern mit K8s

Was ist Kubernetes (K8s)?

| Autor / Redakteur: Stefan Luber / Florian Karlstetter

Container-Orchestrierung mit Kubernetes - von Google entworfen und an die Cloud Native Computing Foundation gespendet. Funktionen und Vorteile der Open-Source-Plattform im Überblick.
Container-Orchestrierung mit Kubernetes - von Google entworfen und an die Cloud Native Computing Foundation gespendet. Funktionen und Vorteile der Open-Source-Plattform im Überblick. (Bild: gemeinfrei (geralt) / Pixabay)

Kubernetes ist eine ursprünglich von Google entwickelte Open-Source-Plattform zur Orchestrierung von Containern. Sie gestattet das automatisierte Einrichten, Skalieren, Betreiben und Warten containerisierter Anwendungen und unterstützt Container-Engines wie Docker und zahlreiche Cloud-Computing-Plattformen.

Kubernetes wird oft mit "K8s" abgekürzt. Es handelt sich um eine Open-Source-Plattform, mit der sich Container orchestrieren lassen. Kubernetes vereinfacht und automatisiert das Einrichten, Skalieren, Betreiben und Warten containerisierter Anwendungen. Die Plattform fasst die Container-Einheiten zu Clustern bestehend aus virtuellen oder physischen Nodes zusammen und arbeitet Master-Slave-basiert.

Das Steuer in der Hand: K8s zur Automatisierung, Bereitstellung, Skalierung und Verwaltung von containerisierten Anwendungen.
Das Steuer in der Hand: K8s zur Automatisierung, Bereitstellung, Skalierung und Verwaltung von containerisierten Anwendungen. (Bild: Kubernetes)

Ursprünglich wurde Kubernetes von Google entworfen. Die erste Version der Software wurde im Jahr 2015 veröffentlicht. Später spendete Google Kubernetes an die Cloud Native Computing Foundation (CNCF), die heute für die Weiterentwicklung der Plattform zuständig ist und weitere Projekte aus dem Cloud Native Computing Umfeld betreut. Kubernetes steht unter Apache-Lizenz 2.0 und unterstützt verschiedene Container-Engines wie Docker sowie gängige Cloud-Plattformen wie Microsoft Azure, Amazon Web Services oder Oracle Cloud Infrastructure und viele mehr.

Zentrale Funktionen von Kubernetes

Kubernetes bietet ein riesiges Leistungsspektrum und stellt zahlreiche Funktionen zum Einrichten, Skalieren, Betreiben, Verwalten und Warten von Container-basierten Anwendungen zur Verfügung. Wichtige Funktionen sind:

  • automatisierte Container-Einrichtung und automatisierter Rollout der Software
  • Berücksichtigung der Ressourcenanforderung des Deployments hinsichtlich Rechenzeit und Speicherplatz
  • Bereitstellung von persistentem Storage für die zustandslosen Container
  • automatische Skalierung des Containerbetriebs
  • intelligente Erkennung von Netzwerkverbindungen und automatische Lastverteilung
  • Bereitstellung von Redundanzen für hochverfügbare Systeme

Die Funktionsweise von Kubernetes

Um die Funktionsweise von Kubernetes zu verstehen, ist die Kenntnis der grundlegenden von Kubernetes verwendeten Begrifflichkeiten notwendig. Kubernetes nutzt folgende Begriffe:

  • Pods
  • Nodes (auch teilweise als Minions bezeichnet)
  • Cluster

Ein Pod ist die kleinste Einheit innerhalb der Kubernetes-Architektur. Die Pods beinhalten ein oder mehrere Container. Nodes sind virtuelle oder physische Systeme, auf denen die Pods als Prozesse laufen. Mehrere Nodes werden zu einem Cluster zusammengefasst.

Grundsätzlich arbeitet Kubernetes in einer Master-Slave-Architektur. Eine zentrale Rolle innerhalb dieser Architektur übernimmt der Kubernetes-Master. Er nimmt die Befehle des Administrators entgegen und steuert die Nodes mit ihren Pods und Containern. Hierfür weist er Ressourcen zu und bestimmt die Pods eines Nodes, die eine bestimmte Aufgabe ausführen sollen. Um die Container zu verwalten, existieren auf dem Kubernetes-Master folgende Prozesse:

  • API Server
  • etcd
  • Controller Manager
  • Scheduler

Ein zentraler Prozess des Masters ist der API Server. Er kommuniziert über eine REST-Schnittstelle und bedient alle weiteren Komponenten und externen oder internen Dienste. etcd ist eine Key-Value-Datenbank, in der sich Konfigurationsdaten speichern lassen. Unter anderem nutzt der API Server etcd als persistenten Speicher. Der Controller Manager stellt Kontrollmechanismen zur Verfügung und kann über den API Server Stati lesen oder schreiben. Mithilfe des Schedulers legt Kubernetes fest, auf welchem Node welcher Pod laufen soll. Er berücksichtigt die vorhandenen Ressourcen und überwacht die Auslastung der Nodes.

Die Kubernetes Nodes sind virtuelle oder physische Systeme, auf denen die Container in Pods laufen. Wichtige Komponenten jedes Nodes sind:

  • Kubelet
  • Kube-Proxy
  • cAdvisor

Das Kubelet ist für das Starten und Stoppen von Containern zuständig und kommuniziert mit dem Controller Manager des Masters. Plant der Master beispielsweise einen Pod für einen Node ein, weist der Controller Manager über den Kubelet die Container-Engine an, den Container zu starten. Kubelet sendet die Stati der Container zum Master. Der Master kann aufgrund dieser Informationen Container anhalten, neu starten oder ersetzen. Meldet sich ein Kubelet eines Nodes nicht mehr, kann der Master über den Controller Manager einen anderen Node beauftragen, die ausgefallenen Pods mit ihren Containern dort zu starten. Der Kube-Proxy stellt Lastausgleichsfunktionen zur Verfügung. Über den cAdvisor lassen sich die aufgezeichneten Ressourceninformationen eines Containers abfragen.

Abgrenzung von Kubernetes zu Docker oder anderen Container-Engines

Die Begriffe Kubernetes und Docker oder die Bezeichnungen anderer Container-Engines werden oft in ähnlichen Zusammenhängen verwendet. Kubernetes lässt sich als Container-Orchestrierungsplattform jedoch deutlich von den Container-Engines abgrenzen. Zwar kann Kubernetes Container deployen, betreiben und verwalten, doch ist K8s nicht in der Lage, die eigentlichen Container bereitzustellen. Hierfür ist immer eine Container-Engine wie Docker notwendig. Die Engine stellt die Container bereit, Kubernetes steuert und verwaltet sie. Die Kombination macht es also aus.

Grundlagen der Container-Virtualisierung

Container-Technologien - von Docker-Engines bis Kubernetes (K8s)

Grundlagen der Container-Virtualisierung

15.09.16 - Application Container waren im vergangenen Jahr der letzte Schrei in der IT-Szene, 2016 haben sich Docker und Co bewiesen. Sollten Sie als Cloud-Anwender sich in die Materie einarbeiten? Lohnt sich der Einsatz dieser „neuen“ Technologie? Kann sie möglicherweise sogar die Cloud ersetzen? lesen

Vorteile durch den Einsatz von Kubernetes

Durch den Einsatz von Kubernetes zur Orchestrierung von Containern ergeben sich zahlreiche Vorteile. Neue Funktionen oder Services lassen sich im Vergleich zu monolithisch arbeitenden herkömmlichen Systemen wesentlich schneller ausrollen. Manuelle Prozesse, die für die Bereitstellung und Skalierung der Container-basierten Anwendungen notwendig sind, werden überflüssig und durch Kubernetes automatisiert.

Ein mit Kubernetes realisiertes System arbeitet stabil und mit hoher Ausfallsicherheit. Es kann festgelegt werden, wie viele Pods für besonders kritische Services vorzuhalten sind. Fällt ein Pod mit seinen Containern aus, ist der direkte Weiterbetrieb in einem bereitgehaltenen Pod möglich.

Ein weiterer Vorteil ergibt sich in der Skalierung. Benötigen bestimmte Anwendungen mehr Ressourcen, kann Kubernetes diese schnell und einfach zur Verfügung stellen.

Update-Prozesse lassen sich dank sogenannter Rolling Updates ohne Außenwirkung durchführen. Hierbei werden die Softwarestände der Pods nach und nach aktualisiert. Für den Anwender bleibt der Service durchgängig verfügbar.

Die Pods mit ihren Container stellen sicher, dass Anwendungen plattformunabhängig laufen. Dies sorgt für eine hohe Reproduzierbarkeit und den problemlosen Transfer von Anwendungen in andere Umgebungen.

Volle Ausschöpfung des Cloud-Potenzials mit Kubernetes

Mit Kubernetes und Containern lässt sich das volle Potenzial des Cloud Computings ausschöpfen. Kubernetes arbeitet mit privaten, öffentlichen, hybriden oder Multi-Cloud-Umgebungen zusammen und bietet eine große Flexibilität bei der Realisierung von Anwendungen. Die Container mit ihren Anwendungen sind mit geringem Aufwand zwischen verschiedenen Systemen und Cloud-Umgebungen verschiebbar. Alle gängige Cloud-Plattformen unterstützen Kubernetes.

Dank der Orchestrierungsplattform ist die Steuerung der Container mit ihren Anwendungen unabhängig von der zugrundeliegenden Cloud-Umgebung möglich. Je nach Anforderung und benötigten Ressourcen können Anwendungen in die jeweils optimale Umgebung verlagert werden. Durch die Einbindung der Cloud-Lösungen verschiedener Anbieter werden Abhängigkeiten vermieden. Kubernetes organisiert für Anwendungen mit großen Ressourcenanforderungen den Zugriff auf die Funktionen und Leistungen verschiedener Anbieter.

Cloud Native, Microservices, Serverless Computing & Co.: Weitere Definitionen im Cloud Computing Wiki

Definitionen rund um Cloud ComputingVon AWS bis XaaS: Alle relevanten Schlagworte aus dem Bereich Cloud Computing finden Sie verständlich erklärt in unseren Definitionen. Ganz im Sinne eines kleinen, aber feinen Glossars lesen Sie hier neutral verfasste Erklärungen zu den wichtigsten Begriffen. Als Service für Sie haben wir die hier erklärten Begriffe in unseren Beiträgen auch direkt mit den zugehörigen Lexikoneinträgen verlinkt. So können Sie die wichtigsten Begriffe direkt dort nachschlagen, wo sie im Text auftauchen.  

Zum Special: Definitionen rund um Cloud Computing

Kommentare werden geladen....

Kommentar zu diesem Artikel abgeben

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.

Aktuelle Beiträge zu diesem Thema

Was ist Istio?

Definition: Service Mesh, plattformunabhängig und quelloffen

Was ist Istio?

Istio stellt ein offenes, plattformunabhängiges Service Mesh zur Verfügung, mit dem sich die Microservices verteilt arbeitender Cloud-native-Anwendungen komfortabel verwalten lassen. Zu den Kernfunktionen gehören das Traffic Management sowie Sicherheits-, Verbindungs- und Monitoring-Funktionen. lesen

So geht die Datenspeicherung in der Multicloud

Cloud 2019 Technology & Services Conference

So geht die Datenspeicherung in der Multicloud

Am 10. September beginnt in Bonn die Veranstaltungsreihe „Cloud 2019 Technology & Services Conference“ mit Fachvorträgen, Live Demos und Technologie Outlooks statt. Jeweils um 11:45 Uhr startet ein Roundtable zum Thema „Wie speichere ich Daten (effizient) in Cloud-Infrastrukturen?“ unter Leitung von Harald Seipp, Gründer & Leiter Kompetenzzentrum für Cloud-Speichertechnologien bei IBM. lesen

Velten: „Cloud Native ist der Gamechanger“

Cloud 2019 Technology & Services Conference

Velten: „Cloud Native ist der Gamechanger“

Ab 10. September findet die Veranstaltungsreihe „Cloud 2019 Technology & Services Conference“ statt. Fachvorträge, Live Demos und Technologie Outlooks thematisieren die Herausforderungen der Multicloud und von Cloud Native. Die Veranstaltungen in Hamburg und München starten mit einer Keynote von Dr. Carlo Velten, Managing Director von Crisp Research. DataCenter-Insider hat ihn und seinen Kollegen Maximilian Hille vorab dazu befragt. lesen

Was ist Container as a Service (CaaS)?

Definition: Container-basierte Virtualisierung aus der Cloud

Was ist Container as a Service (CaaS)?

CaaS ist ein Cloud-Computing-Modell, das Container-basierte Virtualisierungsleistungen als Service aus dem Netz bereitstellt. Es ist zwischen den Modellen Infrastructure as a Service und Platform as a Service angesiedelt. Zahlreiche Public-Cloud-Anbieter wie Microsoft, Google und Amazon stellen Kunden CaaS-Angebote zur Verfügung. lesen

Gemanagte Kubernetes-Tools von Platform9

Prometheus, EFK und MySQL kommen in Managed Apps Catalog

Gemanagte Kubernetes-Tools von Platform9

Platform9 erweitert das Angebot gemanagter Kubernetes-Dienste um Werkzeuge für Logging, Monitoring und Datenbankanwendungen. Weitere sollen sukzessive folgen. lesen

Alpha-Version des Pivotal Application Service (PAS) für Kubernetes

Vereinfachte Nutzung von Kubernetes

Alpha-Version des Pivotal Application Service (PAS) für Kubernetes

Pivotal hat die Alpha-Version des Pivotal Application Service (PAS) für Kubernetes vorgestellt. Neue, auf dem PAS basierende Produkte sollen zudem Entwicklern eine bessere User Experience bei der Nutzung von Kubernetes bescheren. lesen

MongoDB 4.2 und weitere Neuheiten vorgestellt

Datenbank, Entwicklungsplattform und mehr

MongoDB 4.2 und weitere Neuheiten vorgestellt

Der Datenbankspezialist MongoDB hat Version 4.2 seiner gleichnamigen Plattform veröffentlicht. Zudem stellte das Unternehmen neue Produkte vor und gab seine Pläne für die Entwicklungsplattform Realm bekannt. lesen

Mit dHCI und Primera-Storage auf dem Weg ins Servicezeitalter

Neue Hybrid-Cloud-Produkte von HPE

Mit dHCI und Primera-Storage auf dem Weg ins Servicezeitalter

HPE kündigte kürzlich auf der Hausmesse „Discover“ in Las Vegas nicht nur an, in schon drei Jahren alle Produkte auch als verbrauchsorientiert abgerechneten Service anzubieten, sondern auch zwei neue Produkte: das hochverfügbare Speichersystem „HPE Primera“ und eine HCI-ähnlicheTechnik, bei der Storage und Server frei skalierbar sind. lesen

Die Public Cloud wird Teil der Unternehmensstrategie zu Agilität und Innovation

AWS Transformation Day 2019

Die Public Cloud wird Teil der Unternehmensstrategie zu Agilität und Innovation

Auf dem AWS Transformation Day 2019, der wieder in München stattfand, erläuterte Miriam McLemore, Direktorin für Unternehmensstrategie bei Amazon Web Services (AWS), die zahlreichen Stationen und Voraussetzungen für die digitale Transformation. Die Testimonial-Kunden VW und Zalando skizzierten ihre Pläne mit AWS. lesen

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 45862509 / Definitionen)