Definition „K8s“

Was ist Kubernetes?

| Autor / Redakteur: LineFeed / Stephan Augsten

Kubernetes stellt alle Funktionen für die Steuerung und Kontrolle des Einsatzes von Containeranwendungen zur Verfügung.
Kubernetes stellt alle Funktionen für die Steuerung und Kontrolle des Einsatzes von Containeranwendungen zur Verfügung. (Bild: Kubernetes)

Kubernetes dient der Orchestrierung von Container-Systemen. Die Open-Source-Plattform automatisiert also das Einrichten, Betreiben und auch das Skalieren von containerisierten Anwendungen.

Kubernetes ist zunächst die englische Schreibweise eines griechischen Wortes, das die Entwickler des gleichnamigen Container-Orchestrierungssystems etwas frei mit Steuermann übersetzen. Die Namensgebung reiht sich damit in die für derartige Projekte gewählte Bildsprache der Frachtschifffahrt ein. Docker heißen im Englischen die Schauerleute oder Hafenarbeiter.

Die Symbolik spiegelt sich im Kubernetes-Logo, das aus einem siebenspeichigen Steuerrad besteht. Die Zahl Sieben bezieht sich dabei auf eine Figur aus Star Trek, deren Name als Arbeitstitel des Projekts diente.

Ein Name mit IT-Geschichte

Kubernetes ist auch der Stamm des Wortes Kybernetik, englisch Cybernetics, und damit auch Ursprung diverser Wortbildungen mit „Cyber". Das Wort geht auf ein Buch des amerikanischen Mathematikers Norbert Wiener aus dem Jahr 1948 zurück und beschreibt dort die Steuerung und Kommunikation in lebenden wie in menschengemachten Systemen.

Welche Rolle spielt Kubernetes bei der Containerisierung

Sieht man in der Containerisierung eine industrielle Revolution der IT, indem sie händisch installierte Server durch maschinell erzeugte und gepflegte Einheiten ersetzt, dann ist Kubernetes das Fließband, das den Produktionsablauf regelt und den Takt vorgibt. Diese Aufgabe heißt im Orchestrierung. Kubernetes verwendet aber einen etwas anderen Ansatz als typische Orchestrierungssysteme.

Mehr als Orchestrierung

Die Kubernetes-Entwickler beschreiben den Unterschied zu einem regulären Orchestrierungssystem so, dass ihre Software keinen fest vorgegebenen Workflow umsetzt, sondern aus einem Satz unabhängiger Kontrollprozesse besteht, die fortlaufend den Ist-Zustand des Containersystems überwachen und zum Sollzustand hin verändern. Auf welchem Weg die Container eine vorgegebene Aufgabe lösen, liegt in der Zuständigkeit dieser Prozesse. Kubernetes benötigt auch keine zentrale Kontrollinstanz. Damit, so die Entwickler, macht Kubernetes die Orchestrierung effektiv überflüssig.

Kubernetes im Vergleich

Ein grundlegender Unterschied zwischen Kubernetes und anderen bedeutenden Orchestrierungswerkzeugen besteht in der Art der Virtualisierungsumgebungen, die sie verwalten können. Während Docker Swarm Mode als natives Docker-Orchestrierungstool eben diese Containerumgebung voraussetzt, unterstützt Kubernetes auch andere containerbasierte Virtualisierungssysteme, sogar als heterogene Umgebungen. Apache DCOS kontrolliert und steuert darüber hinaus auch nicht containerisierte Rechenressourcen.

Das Leistungsspektrum

Das Open-Source-Werkzeug Kubernetes stellt alle Funktionen für die Steuerung und Kontrolle des Einsatzes von Containeranwendungen zur Verfügung. Dazu gehören folgende Features:

  • Automatisierung von Containereinsatz und Software Rollout
  • Optimierung der Nutzung von Computer-Ressourcen
  • Zahlreiche Optionen für dauerhafte Datenspeicherung (Persistent Storage)
  • Integrierte Service Discovery
  • Autoscaling
  • Hochverfügbarkeit

Automatisierung von Containereinsatz und Software Rollout

Kubernetes fasst Container-Images, ihre Konfiguration und die Anzahl der benötigten Instanzen in Deployments zusammen, so der Sprachgebrauch des Orchestrierungssystems. Die Parameter eines Deployments überwacht Kubernetes selbsttätig. Das Tool sorgt dafür, dass die gewünschte Anzahl von Containern jederzeit läuft. Änderungen an der Software oder der Konfiguration verteilt Kubernetes mit einem Rollout. Dieser Prozess lässt sich pausieren, fortsetzen und rückgängig machen (Rollback).

Optimierung der Nutzung der Computer-Ressourcen

Kubernetes setzt die Container eines Deployments selbständig dort ein, wo entsprechende Ressourcen frei sind. Der Anwender kann Mindest- und Höchstwerte der Ressourcennutzung (Rechenzeit, Speicherplatz) für die Container festlegen, um dem Orchestrierungstool einen Rahmen vorzugeben.

Zahlreiche Optionen für dauerhafte Datenspeicherung (Persistent Storage)

Container sind zustandslos. Für die dauerhafte Speicherung von Konfigurations- und Nutzerdaten bietet Kubernetes Schnittstellen zu zahlreichen Diensten wie zum Beispiel EBS von Amazon Web Services oder Google Cloud Platform.

Integrierte Service Discovery

Benötigten Netzwerkverbindungen ins Internet oder zu anderen Containern erkennt Kubernetes selbständig. Das Werkzeug öffnet diese Verbindungen nicht nur, sondern verteilt den Datenverkehr automatisch auf passende Container (Load Balancing). Eine voll funktionsfähige Service Discovery mittels DNS ist bereits integriert.

Autoscaling

Kubernetes ermöglicht eine selbsttätige Anpassung des Containersystems an wechselnde Lasten und verfügbare Computer-Ressourcen durch automatisches Skalieren des Containereinsatzes. Um wachsende Anforderungen zu erfüllen, reicht es daher, entsprechende Ressourcen bereit zu stellen. Die Anwendung muss dazu nicht angepasst werden. Eine Leistungssteigerung der Anwendung lässt sich somit völlig transparent für den Kunden durchführen.

Hochverfügbarkeit

Ein wesentlicher Faktor für den störungsfreien Betrieb sind ebenfalls High-Availability-Features. Die Container Technologie bietet eine ausgezeichnete Basis für den redundanten Ressourceneinsatz. Mit Cluster Federation weitet Kubernetes diese Fähigkeiten auf ganze Containersysteme aus.

Spezielle Kubernetes-Terminologie

Entsprechend seiner speziellen Eigenschaften als Orchestrierungssystem nutzt Kubernetes zum Teil auch eigene Namenskonventionen. In diesem Sprachgebrauch ist ein Node ein Computersystem, physisch oder virtuell, das für den Betrieb von Containern unter der Kontrolle von Kubernetes eingerichtet ist.

Ein Cluster ist ein Gesamtsystem, dass sich aus Nodes zusammensetzt. Die Verwaltung geschieht über die Kubernetes Control Plane, das ist zum einen Software wie kubectl, zum anderen ein Satz von APIs für die Interaktion mit dem Containersystem. Container auf demselben Node fasst Kubernetes in Pods zusammen. Ein Pod kann auch aus einem einzelnen Container bestehen und ist die kleinste organisatorische Einheit in Kubernetes.

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.

Aktuelle Beiträge zu diesem Thema

IBM übernimmt Red Hat für 34 Milliarden US-Dollar

Open-Source-Giganten schließen sich zusammen

IBM übernimmt Red Hat für 34 Milliarden US-Dollar

Für insgesamt 34 Milliarden US-$ hat IBM den Open-Source- und Linux-Spezialisten Red Hat übernommen. Die Kartellbehörden der EU und der USA haben der Akquise grünes Licht erteilt. Es handelt sich um die drittgrößte Firmenübernahme in Geschichte der amerikanischen IT-Industrie. lesen

Wann ist ein Service Mesh sinnvoll?

Komplexe Container-Cluster managen

Wann ist ein Service Mesh sinnvoll?

Immer öfter hört man, große Container-Implementierungen benötigten ein Service Mesh. Dabei betreiben Unternehmen ihre Applikationen schon seit Jahren erfolgreich auf Container-Plattformen – und das ohne Service Mesh. Wie lässt sich diese Unstimmigkeit auflösen? lesen

Container-Cluster unter AWS

Amazon Elastic Container Service, Teil 1 – Konzepte

Container-Cluster unter AWS

Für den Betrieb von Cloud-native Apps gibt es verschiedene Cluster Manager. In der Cloud sollte Software-Architekten dabei auch AWS ECS, den Elastic Container Service, mit in die engere Wahl nehmen. Wir stellen den älteren der beiden AWS-Container-Cluster-Manager vor. lesen

Cloud Native Development – grenzenloses Potenzial

Programmieren in der und für die Cloud

Cloud Native Development – grenzenloses Potenzial

Statt die Cloud nur zu nutzen, wird im Zuge des Cloud-native Development direkt für die Nutzung programmiert. Im Endergebnis stehen leistungsstarke und skalierbare Lösungen, die Entwicklern erlauben, sich auf die eigentliche Anwendung zu konzentrieren. lesen

GitLab 12 soll Entwicklung, Sicherheit und Betrieb vereinen

Security-Automation trifft DevOps-Prozesse

GitLab 12 soll Entwicklung, Sicherheit und Betrieb vereinen

Eine Lösung für den kompletten DevSecOps-Lebenszyklus: Nichts weniger schwebt GitLab mit Version 12.0 der gleichnamigen Software vor. Sicherheit soll zu einem automatisierten Teil des Release-Zyklus werden. lesen

Das Deployment-Tool Spinnaker unter Cloud Foundry

Continuous Delivery in der Cloud, Teil 1

Das Deployment-Tool Spinnaker unter Cloud Foundry

Was nützt es agil zu sein, wenn fertig entwickelte und den Integrationstest erfolgreich absolvierte Code-Änderungen nicht schnell genug ausgeliefert werden können? Das Open-Source-Tool Spinnaker ist dabei eine wertvolle Unterstützung. lesen

Was ist HELM?

Definition „HELM (Kubernetes)“

Was ist HELM?

Helm ist ein Tool zum einfachen Installieren, Veröffentlichen, Verwalten, Updaten und Skalieren von vorkonfigurierten Kubernetes-Anwendungen. Mittlerweile wird das Projekt durch CNCF, sprich die Cloud Native Computing Foundation betreut. lesen

K8s feiert auf KubeCon + CloudNativeCon

5. Geburtstag der Container-Wundertüte Kubernetes

K8s feiert auf KubeCon + CloudNativeCon

Die vom 20. bis 23. Mai in Barcelona ausgerichtete KubeCon + CloudNativeCon Europe 2019 war gleichsam eine Art Geburtstagsparty für die 2014 erschienene Container-Orchestrierungs-Lösung Kubernetes. 7.700 Besucher feierten eine geradezu wuchernde Plattform der Plattformen. lesen

Red Hat Enterprise Linux 8

Mehr Automatisierung und Entwickler-Produktivität

Red Hat Enterprise Linux 8

Insider wissen: Red Hat im eigenen Rechenzentrum unterscheidet sich von dem in einer Public Cloud. Das ist für Administratoren und Entwickler ärgerlich und soll sich nun ändern. „Red Hat Enterprise Linux 8“ soll für jeden Workload in jeder Umgebung eine durchgängige Linux-Erfahrung für Unternehmen bieten: von Bare-Metal-Servern und Linux-Containern bis hin zu Public und Private Clouds. lesen

copyright

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