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

Ping hat seine Plattform renoviert

Schneller in die Multi Cloud

Ping hat seine Plattform renoviert

Ping Identity hat seine Ping-Plattform Intelligent Identity überarbeitet. Sie bietet nun unter anderem einen verbesserten Support für DevOps, automatisierte Multi-Cloud-Integration sowie spezielle Szenarien für die sichere Benutzerauthentifizierung, die das Verwenden von Passwörtern überflüssig machen sollen. lesen

IT-Trends: 6 Empfehlungen für Entscheider

Technologiethemen für 2020

IT-Trends: 6 Empfehlungen für Entscheider

Bereits heute setzen die meisten Unternehmen auf Hybride- oder Multi-Cloud-Lösungen – 2020 werden sich die Themen „On-Premise“ und „Public Cloud“ in ihrer Relevanz noch weiter annähern. Auch Cyberbedrohungen und der Schutz geschäftskritischer Daten sollten 2020 auf der Agenda der Entscheider stehen. lesen

Container Orchestration Tools im Vergleich

Die Konsolidierung der Cloud

Container Orchestration Tools im Vergleich

Seit Docker das Licht der IT-Welt erblickte, haben Container die DevOps-Idee revolutioniert. Dazu bedarf es eines Container-Clusters nebst zugehöriger Verwaltungsinstrumente wie Google Kubernetes. Hier klären wir die Zusammenhänge von Containern, Docker, DevOps und Cloud-native Computing. lesen

AWS senkt Latenzzeiten am Edge, im Mobilfunk und in Local Zones

US-Kundenkonferenz von Amazon Web Services

AWS senkt Latenzzeiten am Edge, im Mobilfunk und in Local Zones

Amazon Web Services hat kürzlich auf seiner Kundenkonferenz AWS re:invent Ende 2019 in Las Vegas eine Reihe von neuen Services vorgestellt, die für Cloud Computing von Bedeutung sind. In erster Linie ist AWS bemüht, die Latenzzeit der Datenübertragung in Edge- und Local-Clouds zu verringern. lesen

Stärkerer Fokus auf dem Betrieb von Multi-Cloud-Umgebungen

Cloud Predictions 2020

Stärkerer Fokus auf dem Betrieb von Multi-Cloud-Umgebungen

Multi-Cloud-Umgebungen waren ein Top-Thema im zu Ende gehenden Jahr. Unternehmen haben die Vorzüge eines herstellerunabhängigen Ansatzes erkannt, dessen besonderer Vorteil neben Kostenaspekten, insbesondere in der größeren Flexibilität in Hinblick auf Innovationen besteht. Eine Reihe von Aspekten beim Betrieb sind jedoch entscheidend dafür, dass auch langfristig Multi-Cloud-Lösungen eine wichtige Rolle in Unternehmen spielen werden. lesen

Was CIOs über Container, Kubernetes und Microservices wissen sollten

Frisch vom Gartner Symposium/ITxpo

Was CIOs über Container, Kubernetes und Microservices wissen sollten

„Kubernetes ist die Antwort – aber wie heißt die Frage?“ – So begrüßte Gartner-Analyst und Vice President Richard Watson das Auditorium des hauseigenen Symposiums. Der Titel seiner Präsentation: „Der CIO-Führer zu Containern, Kubernetes und Microservices“; der Inhalt: alles, was ein Chief Information Officer über das neue IT-Operation-Modell wissen muss; das Fazit: Kubernetes ist nicht alles, hilft aber enorm. lesen

Pega-Lösungen laufen mit Kubernetes

Cloud-Choice-Garantie um Container-Orchestrierung erweitert

Pega-Lösungen laufen mit Kubernetes

Pegasystems unterstützt ab sofort Kubernetes. Kunden können die Enterprise Software Pega Infinity somit wahlweise mit den entsprechenden Cloud-Angeboten von AWS, Azure, Google, Pivotal und Red Hat betreiben. lesen

Fünf Prognosen für die Cloud im Jahr 2020

Rackspace blickt in die Kristallkugel

Fünf Prognosen für die Cloud im Jahr 2020

Für viele Unternehmen in Europa ist die Cloud in den vergangenen Jahren zum Standard geworden. Im kommenden Jahr werden neue Entwicklungen und Anwendungsbereiche sowohl den Cloud-Markt selbst als auch die Anwender auf Trab halten. lesen

HPE – die „Edge-to-Cloud-as-a-Service“-Company

Kundenkonferenz HPE Discover More 2019

HPE – die „Edge-to-Cloud-as-a-Service“-Company

Auf die Entwicklung einer eigenen Cloud-Plattform hat Hewlett Packard Enterprise verzichtet. Stattdessen bringt sich der Konzern als „Anbieter von As-a-Service-Lösungen vom Netzwerkrand bis zur Cloud“ in Position. lesen

copyright

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