Was ist Kubernetes?

Von IBM Services

Containerisierte Anwendungen in beliebigen Umgebungen koordinieren und bereitstellen

Kubernetes ist eine Open-Source-Lösung, die die Bereitstellung, Skalierung und Überwachung containerisierter Anwendungen automatisiert.

Bei einem Container handelt es sich um Software, die von der zugrunde liegenden Infrastruktur getrennt ist. Mit Containern erfolgt die Virtualisierung auf Betriebssystemebene. Das heißt, unabhängig davon, wo eine Anwendung ausgeführt wird, sie funktioniert immer gleich.

Die meisten Container werden heute auf einer Kubernetes-Plattform ausgeführt. Nach Angaben des Unternehmens: „Kubernetes stellt eine containerorientierte Managementumgebung bereit. Die Lösung koordiniert die Datenverarbeitungs-, Netzwerk- und Speicherinfrastruktur für Benutzerworkloads und ermöglicht Portierbarkeit über Infrastrukturanbieter hinweg.“ ⁽¹⁾

Kubernetes-Grundlagen

Kubernetes hatte seine Anfänge bei Google, wo ein Team von Entwicklern ein Cluster-Managementsystem namens Borg entwickelte. Im Jahr 2014 führte das Unternehmen eine Open-Source-Version von Borg namens Kubernetes ein.⁽²⁾

Die erste Version von Kubernetes wurde im Jahr 2015 veröffentlicht, um Containerorchestrierung für verteilte Anwendungen bereitzustellen. Parallel zu dem Release arbeitete Google mit der Linux Foundation zusammen, um die Cloud Native Computing Foundation zu gründen, und bot Kubernetes als Seed-Technologie an.⁽³⁾

Seit seinem Debüt ist Kubernetes immer beliebter geworden, da es Entwickler dabei unterstützt, systemübergreifende Portierbarkeit auf der Basis von Containertechnologie zu erreichen. Mit mehr als 1.400 Mitwirkenden ist die Kubernetes Open-Source-Community heute eine der größten der Welt.

Docker ist die am häufigsten verwendete Containertechnologie, aber Kubernetes unterstützt auch andere. Docker definierte Vorlagen zur Paketierung von Software in standardisierten Einheiten, die alle Elemente für die Ausführung einer Anwendung enthielten.

Kubernetes koordiniert die Containerumgebung bei gleichzeitiger Optimierung von Serverauslastung und Speicherplatz. Die Lösung verwaltet, wo und wie Container bereitgestellt werden, indem Features wie intelligente Zeitplanung, Lastausgleich, Skalierbarkeit, Speichermanagement und Stapelausführung verwendet werden.

Zentrale Konzepte:

  • Die grundlegende Kubernetes-Managementeinheit ist ein Pod oder eine Gruppe von Containern. Container in einem Pod teilen sich Speicher, Ressourcen und IP-Adresse.
  • Ein Kubernetes-Cluster besteht aus Master- und Workerknoten. (Ein Knoten ist der Host oder Server, auf dem ein Container ausgeführt wird; es kann sich um eine virtuelle oder physische Maschine handeln.)
  • Ein Masterknoten verwaltet die Container-Workload und steuert die Kommunikation über das System hinweg. Er enthält einen Scheduler, der Leistung, Kapazität und Verfügbarkeit steuert.
  • Workerknoten führen die Pods gesteuert vom Masterknoten aus.
  • Mit Konfigurationsdateien können Teams Verarbeitungsparameter wie die Anzahl Pods, die gleichzeitig ausgeführt werden können, angeben. Mithilfe von Kubernetes können Ressourcen in einem gesamten Rechenzentrum so verwaltet werden als handle es sich um ein einziges System.  

Kubernetes im Vergleich zu Docker: Es ist kein Entweder-oder-Frage

Warum Kubernetes wichtig ist

Umfangreiche Unternehmensanwendungen können eine große Anzahl Container enthalten. Diese Art von Architektur kann schnell komplex werden.

Unternehmen müssen in der Lage sein, alle beweglichen Teile in einer Containerumgebung zu koordinieren, vorzugsweise von einem zentralen Ort aus. Viele entscheiden sich für Kubernetes als Lösung.

Kubernetes verwaltet das Ökosystem und passt Datenverarbeitung und Speicher an, um sicherzustellen, dass Container verfügbar sind und effizient bereitgestellt werden. Entwickler können währenddessen jederzeit sehen, wo sich alle Komponenten befinden.

Kubernetes kann Unternehmen dabei unterstützen, die Bereitstellung neuer Anwendungen zu vereinfachen, Container- und Ressourcenmanagement zu optimieren, Upgrade-Risiken zu reduzieren und Ausfallzeiten zu vermeiden. Die Lösung kann Anwendungskomponenten einzeln oder als Gruppe skalieren und portierbare cloudnative Anwendungen unterstützen.  

In seinem IBM Blog skizziert Matt Johnsen einige der Vorteile:

  • Kosteneinsparungen: Kubernetes-Cluster sind für den geringen Wartungsaufwand bekannt. Teams müssen keine eigenen Container-Automationsscripts schreiben. Sie können eine gemeinsame Infrastruktur nutzen. Sie können die Hardwarekosten reduzieren, indem sie aktuelle Hardware effektiver nutzen.
  • Kürzere Entwicklungszeit: Kubernetes eignet sich perfekt für DevOps. Gutes Containermanagement bedeutet, dass die Bereitstellung fast immer problemlos erfolgt, solange die Software ausgeführt wird.
  • IT-Flexibilität: In modernen Unternehmen wird Software auf einer beliebigen Anzahl privater und gemeinsam genutzter Infrastrukturen ausgeführt. Die Verwendung einer Containermanagementlösung bedeutet, dass Teams keine Einschränkungen bei der Leistung hinnehmen oder größere Anpassungen vornehmen müssen, um Anwendungen zu verschieben. Sie können Software überall dort ausführen, wo das Unternehmen sie benötigt.

Ein weiterer Vorteil von Kubernetes ist die horizontale Skalierung, die dazu beitragen kann, sich verändernden Leistungsanforderungen anzupassen.

„Wenn Sie bereits die Vorteile von Docker und Containern mit Ihren Anwendungen nutzen, kann die Migration auf Kubernetes Sie dabei unterstützen, einen Teil der Betriebsgemeinkosten einzusparen, die für praktisch alle Anwendungen anfallen, wenn skaliert wird“, so Sai Vennam, IBM Developer Advocate.

Kubernetes als Service

Unternehmen können ein internes Kubernetes-System verwenden, um ihre Containerbereitstellungen zu koordinieren. Alternativ kann ein Service-Provider eine Kubernetes-basierte Plattform oder Infrastruktur als Service anbieten.

Kunden profitieren von der gleichen Funktionalität, jedoch mit weniger Komplexität und Gemeinkosten. Jason McGee, VP und IBM Fellow, IBM Cloud, gibt Folgendes zu bedenken:

„Die Installation, Verbindung und Konfiguration einer Ressourcengruppe in einem funktionierenden Container-Cluster ist nicht einfach. Es sind Arbeitszeit und entsprechendes Wissen erforderlich. Was, wenn Sie der Containerumgebung Kapazität hinzufügen oder aus der Containerumgebung Kapazität entfernen müssen? Wie erfolgt eine Wiederherstellung, wenn Fehler auftreten? Container und Kubernetes verändern sich rasant.

„Es ist schwer, Schritt zu halten, wenn man sich selbst darum kümmert. Einer der Vorteile eines Managed Service ist, dass Ihnen diese Arbeit abgenommen wird und Sie sich einfach auf Ihre Anwendungen konzentrieren können“.⁽⁴⁾

Ein Managed-Service-Provider wie IBM kontrolliert die Datenverarbeitungs-, Netzwerk- und Speicherressourcen in jedem Knotencluster. Der IBM Service bietet intelligente Planung, vereinfachtes Cluster-Management, Containersicherheits- und Isolationsrichtlinien sowie Infrastrukturupgrades.

IBM Kunden können den Kubernetes-Service auch in einer Bare-Metal-Cloudinfrastruktur verwenden. Dies bietet Agilität und Geschwindigkeit für Anwendungen, die eine sehr hohe Rechenleistung erfordern, wie z. B. Workloads für maschinelles Lernen oder KI.

„Entwickler können jetzt Bare-Metal-Maschinenkonfigurationen auswählen, die ihren Anforderungen entsprechen (z. B. Isolation, höhere Verarbeitungskapazität oder umfangreicher lokaler Plattenspeicher), während sie die Vorteile von Containern nutzen, beispielsweise die einfache Migration von Daten zwischen Systemen oder die gleichzeitige Arbeit mehrerer Teammitglieder an verschiedenen Anwendungskomponenten“, so McGee.

Die Weather Company skaliert Web-Services, um Menschen zu schützen

 

Kubernetes-Ressourcen

Was sind Container und warum brauchen Sie sie?

Informieren Sie sich, was Container sind und warum Unternehmen damit arbeiten

Kubernetes-Nutzung und die Bedeutung von Application Performance Management

Hier erfahren Sie, warum eine Kubernetes-basierte Cloudumgebung viele Unternehmen grundlegend verändern kann

Kubernetes im Vergleich zu Docker: Warum nicht beides?

Erfahren Sie mehr über die Unterschiede zwischen Kubernetes und Docker

IBM bringt mit verwaltetem Kubernetes auf Bare-Metal-Systemen die Einfachheit von Containern in komplexe Workloads

Nutzen Sie die Vorteile der Ausführung von Kubernetes-Containern als Managed Service in einer Bare-Metal-Cloudinfrastruktur

Von Watson lernen: Wie Container KI-Workloads skalieren

Hier erfahren Sie, warum KI-Workloads anders sind und sich für die Cloud besser eignen

IBM Cloud Service mit Outlyer überwachen

Informationen zu den Vorteilen der Self-Service-Überwachung von Outlyer im Rahmen des IBM Cloud Kubernetes Service

Relevanter Service

IBM Kubernetes Cloud Service

 

1. https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/

2.https://blog.risingstack.com/the-history-of-kubernetes/

3.https://en.wikipedia.org/wiki/Kubernetes

4.https://softwareengineeringdaily.com/2017/11/29/how-ibm-runs-its-cloud-with-jason-mcgee/