Ein Leitfaden zu Kubernetes

Kubernetes ist ein Tool zur Container-Orchestrierung, das die Verwaltung von Containern vereinfacht und sie zugleich effizienter macht. So funktioniert es.

Dec 30, 2021
6 minute read
A Guide to Kubernetes

A Guide to Kubernetes

Enterprise Networking Planet content and product recommendations are editorially independent. We may make money when you click on links to our partners. Learn More

In den vergangenen Jahren haben sich Container als bevorzugtes Medium für die Bereitstellung und Verwaltung von Anwendungen in einem abstrahierten verteilten System etabliert. Laut Gartner werden über 75 % der Unternehmen weltweit bis 2022 containerisierte Anwendungen in der Produktion betreiben. Daher werden voraussichtlich auch die weltweiten Umsätze mit der Containerverwaltung wachsen – von 465,8 Millionen US-Dollar im Jahr 2020 auf 944 Millionen US-Dollar im Jahr 2024.

Container sind leichte, portable Softwarepakete, die es Unternehmen erleichtern, Anwendungen schnell zu skalieren und bereitzustellen. Container sorgen zwar für größere Agilität, schnellere Bereitstellung und höhere Effizienz, doch es ist schwierig, Hunderte oder Tausende von ihnen im Blick zu behalten, die in einem Unternehmen gleichzeitig ausgeführt werden. Daher wird eine Lösung zur Container-Orchestrierung benötigt, die diese Komplexität in großem Maßstab verwalten kann.

Kubernetes kommt ins Spiel!

Kubernetes, auch K8s genannt, ist ein Open-Source-System zur Container-Orchestrierung, das die Verwaltung und Bereitstellung von Containern in einer verteilten Umgebung automatisiert. Die manuelle Bereitstellung ist aufwendig und fehleranfällig. Durch die Automatisierung des Bereitstellungsprozesses steigt die Produktivität, die Wartezeit sinkt und Unternehmen bringen Produkte deutlich schneller auf den Markt.

Ursprünglich von Google entwickelt, wird Kubernetes heute von der Cloud Native Computing Foundation (CNCF) verwaltet – einer Software-Stiftung, die Cloud-native Computing durch ihre Open-Source-Projekte für alle zugänglich machen möchte. Dank der Beiträge einer großen Entwicklergemeinschaft hat sich Kubernetes zu einem leistungsfähigen Tool für die Container-Orchestrierung entwickelt.

Lesen Sie auch: Virtualisierung vs. Containerisierung: Wo liegt der Unterschied?

Was macht Kubernetes besonders?

Advertisement

Kubernetes löst viele der Probleme erfolgreich, die mit Methoden zur Anwendungsbereitstellung verbunden sind. Das macht Kubernetes besonders.

  • Kubernetes ist deklarativ aufgebaut. Das bedeutet, dass Sie den gewünschten Zustand Ihrer Anwendungen festlegen und Kubernetes den tatsächlichen Zustand an den gewünschten Zustand anpassen lassen können.
  • Kubernetes ist ein selbstheilendes System. Es überwacht Ihr System kontinuierlich, um sicherzustellen, dass es gegen Ausfälle immun bleibt.
  • Kubernetes kann Anwendungen automatisch skalieren, um sich an zusätzliche Workloads anzupassen.
  • Kubernetes optimiert und vereinfacht den Bereitstellungsprozess.

„Kubernetes ist über einen reinen Orchestrierungsdienst hinausgewachsen und zum heutigen Cloud-nativen Betriebssystem geworden“, sagt Dotan Horovits, Product Evangelist bei Logz.io. „In unserer Organisation ermöglicht Kubernetes es uns, geschäftskritische Workloads unserer SaaS-Anwendung praktisch auszuführen. Einer der Vorteile von Kubernetes besteht darin, dass sich eine Multi-Cloud-Umgebung damit einheitlich betreiben und eine mandantenfähige Umgebung verwalten lässt.“

Funktionsweise von Kubernetes

Kubernetes verfügt über eine Master-Slave-Architektur, bei der der Master-Knoten die Worker-Knoten steuert.

Master-Knoten verwalten die API-Endpunkte und steuern alle Vorgänge innerhalb des Clusters. Sie können über die CLI oder API mit dem Master-Knoten kommunizieren. Der Master-Knoten besteht aus vier Komponenten:

  1. Kube API server ist das Frontend der Steuerungsebene und übernimmt alle administrativen Aufgaben.   
  2. Kube Scheduler wählt die Knoten aus, auf denen die Pods ausgeführt werden.
  3. Etcd Storage ist ein Schlüssel-Wert-Speicher, der kritische Informationen speichert.
  4. Kube Controller hält den gewünschten Zustand aufrecht.

Worker-Knoten führen auf Anweisung des Master-Knotens Anwendungen aus. Die Komponenten der Worker-Knoten sind:

  1.  Kubelet ist der primäre Node-Agent, der auf jedem Worker-Knoten ausgeführt wird.
  2. Kube-proxy ist ein Netzwerk-Proxy, der auf jedem Worker-Knoten ausgeführt wird.
  3. Container-Runtime ist ein Softwareprogramm, das Container-Images verwaltet.
Advertisement

Die weiteren wichtigen Komponenten von Kubernetes sind:

  • Pods sind eine Sammlung von Containern und das kleinste bereitstellbare Objekt in Kubernetes. Sie werden in einem Pod-Manifest beschrieben, das den gewünschten Zustand eines Objekts festlegt.
  • Ein Cluster ist eine Sammlung von Knoten, auf denen containerisierte Anwendungen innerhalb von Pods ausgeführt werden. Jeder Cluster benötigt mindestens einen Knoten.
  • Deployment verwaltet Ihre Pods automatisch und stellt sicher, dass immer die erforderliche Anzahl von Replikaten ausgeführt wird. Sobald Sie den gewünschten Zustand definieren, hilft der Deployment Controller dabei, diesen Zustand aufrechtzuerhalten.  
  • Persistente Volumes. Container sind naturgemäß flüchtig. Damit Daten über den Lebenszyklus des Containers hinaus erhalten bleiben, verwendet Kubernetes persistente Volumes – eine Art Volume, dessen Lebenszyklus unabhängig von jedem einzelnen Pod ist.
  • Service ist ein Kommunikationskanal, der Pods Netzwerkzugriff ermöglicht.  

Lesen Sie auch: Container prägen die IoT-Entwicklung

Vorteile von Kubernetes

Standardisierung. Wie Sławek Górawski, Blockchain-Entwickler bei ULAM LABS anmerkt: „Einer der größten Vorteile von Kubernetes ist die Standardisierung – durch seinen Einsatz in den meisten unserer Projekte können wir sie auf ähnliche, vorhersehbare Weise konfigurieren. Wer in einem Projekt mit K8s vertraut ist, kann in ein anderes wechseln, einige Befehle ausführen und sich innerhalb von Sekunden einen brauchbaren Überblick darüber verschaffen, was sich wo befindet. Alles ist dort, wo man es erwartet, ganz gleich, ob man nach Deployments, Routing oder TLS-Zertifikaten sucht.“

Flexibilität. Kubernetes ist äußerst flexibel und kann in verschiedenen Umgebungen und Infrastrukturen bereitgestellt werden. So lässt sich Kubernetes in einer On-Premises-, privaten oder öffentlichen Cloud einsetzen. Außerdem kann Kubernetes Cluster mit einer Größe von einem einzigen Knoten bis hin zu 5.000 Knoten unterstützen.  

Advertisement

Keine Ausfallzeiten. Kubernetes setzt auf die Strategie der Rolling Updates – eine Methode, bei der Ihre Anwendung während der Durchführung von Updates nie ausfällt. Bei dieser Strategie ersetzen Pods mit neueren Versionen schrittweise ältere Pods, sodass keine Ausfallzeiten entstehen. Im Problemfall wird die Bereitstellung gestoppt, ohne den gesamten Cluster herunterzufahren.

Schnelle Skalierung. Die dynamische Skalierung ist eine der wichtigsten Funktionen von Kubernetes. Möglich wird dies durch eine deklarative Konfiguration, bei der Sie lediglich die Anzahl in der Konfigurationsdatei angeben und den gewünschten Zustand festlegen müssen. Danach kümmert sich Kubernetes um den Rest. 

Tatsächlich bietet Kubernetes drei Funktionen zur automatischen Skalierung: Horizontal Pod Autoscaler (HPA), Vertical Pod Autoscaler (VPA) und Cluster Autoscaler. Während der HPA die Anzahl der Pods als Reaktion auf veränderte Workloads erhöht und verringert, passt der VPA die Speicherressourcen und die CPU zur optimalen Nutzung an. Der Cluster Autoscaler wiederum verändert die Größe eines Kubernetes-Clusters, indem er Knoten hinzufügt oder entfernt.

Nachteile von Kubernetes

Kubernetes bietet zweifellos eine Vielzahl von Funktionen, doch bei seiner Einführung gibt es einige Fallstricke. 

„Die Nachteile von Kubernetes liegen in der anfänglichen Bereitstellung. Kubernetes braucht Zeit, um in jedem System bereitgestellt zu werden, und seine Flexibilität bedeutet, dass es schwierig ist, die Lösung von Grund auf zu erlernen“, sagt David Johnson, Chief Technology Officer bei Mulytic Labs. „Wenn ein Unternehmen zum ersten Mal eine Cloud-Orchestrierung einführt und dafür das interne Team einsetzen will, steht ihm ein schwieriger Weg bevor. Es ist nicht ratsam, mit der Bereitstellung von Kubernetes zu beginnen, wenn die Beteiligten noch keinerlei Erfahrung mit Cloud-Orchestrierung haben. Darüber hinaus kann Kubernetes für kleine Unternehmen überdimensioniert sein, wenn die Flexibilität von Kubernetes nicht benötigt wird.“

Organisationen kämpfen bei der Implementierung von Kubernetes außerdem mit mehreren Herausforderungen. 

Advertisement

Robert Boyd, CTO von Guide-Rails.io beschreibt diese Hürden wie folgt: 

  • Mangelnde Transparenz und Überwachung der Ressourcen innerhalb des Clusters
  • Vermeidung von Risiken durch Fehlkonfigurationen
  • Sicherstellen, dass die Software-Lieferkette die Sicherheit von Containern, Konfigurationen und Anwendungen vor jeder Bereitstellung prüft und darüber berichtet
  • Laufzeitsicherheit – Implementierung eines Zero-Trust-Modells

„Unternehmen, die zu Kubernetes migrieren, stellen fest, dass bestehende Firewalls und Sicherheitsmaßnahmen für ihre neuen containerisierten Umgebungen nicht ausreichen“, merkt Glen Kosaka, Leiter der Produktsicherheit bei SUSE an. „Darüber hinaus weisen Kubernetes und andere Container-Orchestratoren und -Tools selbst verwundbare (und zunehmend ins Visier genommene) Angriffsflächen auf. Die Abwehr dieser Bedrohungen erfordert umfassende Sicherheitsmaßnahmen über den gesamten Lebenszyklus der Anwendung hinweg. Das bedeutet, ganz am Anfang der Entwicklung zu beginnen, über die Tests hinweg bis zur Bereitstellung, wo Anwendungen am verwundbarsten sind.“

Kubernetes unverzichtbar machen

Trotz der steilen Lernkurve lohnt sich die Einführung von Kubernetes allemal. Container sind zu einem festen Bestandteil moderner Unternehmen geworden, und nur ausreichende Kenntnisse über Kubernetes ermöglichen es Ihnen , jeden Aspekt des Lebenszyklus einer Anwendung effektiv zu verwalten.

„Wenn ich einer Organisation, die ihre Kubernetes-Reise beginnt, einen einzigen Ratschlag geben müsste, dann wäre es, sich nicht in endlosen Analysen zu verlieren. Eines der großartigen Dinge an Kubernetes ist, dass sich die Lösung unendlich oft neu konfigurieren lässt. Fangen Sie also mit etwas Kleinem an und bauen Sie darauf auf“, rät Mitchell Smith,  Lead DevOps Engineer bei Relevance AI. „Die erste Anwendung auf Kubernetes in die Produktion zu bringen, ist die größte Herausforderung; danach wird es deutlich einfacher.“

Lesen Sie als Nächstes: Was Sie über Cloud-Automatisierung wissen müssen: Tools, Vorteile und Anwendungsfälle

Susnigdha Tripathy

Susnigdha Tripathy is a full-time writer and editor based in Singapore, and a regular contributor to Enterprise Networking Planet. She has over 10 years of experience writing, editing, and delivering exceptional content for a variety of international technology brands such as Virtasant, a cloud technology company, and Krista Software, a provider of intelligent automation solutions. She has also appeared in ServerWatch and other industry publications.

Enterprise Networking Planet Logo

Enterprise Networking Planet aims to educate and assist IT administrators in building strong network infrastructures for their enterprise companies. Enterprise Networking Planet contributors write about relevant and useful topics on the cutting edge of enterprise networking based on years of personal experience in the field.

Property of TechnologyAdvice. © 2026 TechnologyAdvice. All Rights Reserved

Advertiser Disclosure: Some of the products that appear on this site are from companies from which TechnologyAdvice receives compensation. This compensation may impact how and where products appear on this site including, for example, the order in which they appear. TechnologyAdvice does not include all companies or all types of products available in the marketplace.