Suchen

Open-Source-Lösung zur Containerorchestrierung Was ist Kubernetes (K8s)?

| Autor / Redakteur: Dipl.-Ing. (FH) Stefan Luber / Dr. Jürgen Ehneß

Die Open-Source-Lösung Kubernetes gestattet die Orchestrierung von Containern. Mit der Software lassen sich containerbasierte Umgebungen und Anwendungen automatisiert einrichten, betreiben, warten und skalieren. Es werden verschiedene Container-Engines wie Docker unterstützt. Viele Cloud-Computing-Plattformen unterstützen die Software ebenfalls.

Firma zum Thema

Die wichtigsten IT-Fachbegriffe verständlich erklärt.
Die wichtigsten IT-Fachbegriffe verständlich erklärt.
(Bild: © aga7ta - Fotolia)

Die Abkürzung von Kubernetes lautet „K8s“. Es handelt sich um eine Open-Source-basierte Lösung zur Orchestrierung von Containern. Mithilfe der Software lassen sich containerisierte Anwendungen automatisiert einrichten, betreiben, warten und skalieren. Entwickelt wurde K8s ursprünglich von Google. Die erste Version erschien im Jahr 2015.

Mittlerweile hat Google Kubernetes an die Cloud Native Computing Foundation (CNCF) gespendet. Sie ist aktuell für die Weiterentwicklung der Software zuständig und betreut weitere Projekte des Cloud-Native-Computing-Umfelds. K8s ist über GitHub verfügbar und in der Programmiersprache Go geschrieben. Die Software steht unter Apache-Lizenz 2.0.

Neben Docker unterstützt K8s weitere containerbasierte Virtualisierungssysteme und heterogene Umgebungen, bestehend aus verschiedenen Container-Engines. Cloud-Plattformen wie Amazon Web Services (AWS), Microsoft Azure, Google Cloud oder Oracle Cloud Infrastructure unterstützen K8s. Die Software arbeitet mit öffentlichen, privaten und hybriden Cloud-Umgebungen und schöpft das Potenzial des Cloud Computings aus. Containerisierte Anwendungen lassen sich mit wenig Aufwand zwischen verschiedenen Cloud-Umgebungen verschieben. Die Steuerung der Container erfolgt unabhängig von der zugrundeliegenden Cloud-Umgebung.

Funktionsweise und Funktionsumfang

K8s bietet einen großen Funktionsumfang zum Einrichten, Betreiben, Warten, Verwalten und Skalieren von Containern. Die Einrichtung und das Rollout der Container lassen sich automatisieren. Ressourcenanforderungen der Container bezüglich des Speicherplatzes und der Rechenzeit werden berücksichtigt. Für zustandslose Container stellt K8s persistenten Storage zur Verfügung.

Der komplette Betrieb der Container ist automatisch skalierbar. Es ist eine automatische Lastverteilung möglich. Für hochverfügbare Systeme werden Redundanzen und Redundanzmechanismen bereitgestellt.

Grundsätzlich basiert K8s auf Pods, Nodes und Cluster. Ein Pod stellt die kleinste Einheit in der Kubernetes-Architektur dar. In einem Pod sind ein oder mehrere Container enthalten. Bei einem Node handelt es sich um ein physisches oder virtuelles System. Dort laufen die Pods als Prozesse. Mehrere Nodes lassen sich zu einem Cluster zusammenfassen.

Die Architektur ist Master-Slave-basiert. Der K8s-Master übernimmt die zentrale Rolle. Er steuert die Nodes mit ihren Pods und Containern und weist ihnen die Ressourcen und Aufgabe zu. Wichtige Prozesse des Masters sind der API Server, etcd, der Controller Manager und der Scheduler.

Die Vorteile von K8s

Der Orchestrierung von Containern mit K8s bietet einige Vorteile. Diese sind:

  • schnelles Ausrollen von Containern,
  • Automatisierung der Bereitstellung und Skalierung von Containern – keine händischen Prozesse,
  • hohe Verfügbarkeit und Stabilität des Systems,
  • automatische Redundanzen,
  • schnelle und automatisierte Bereitstellung von Ressourcen für die Containeranwendungen,
  • Updates ohne Beeinträchtigung der Verfügbarkeit der Services,
  • plattformunabhängiger Betrieb von Containern,
  • problemloser Transfer der Container zwischen verschiedenen Umgebungen,
  • volle Ausschöpfung des Cloud-Potenzials.

(ID:46187245)

Über den Autor