© Liashko/Shutterstock.com
Teil 3: Best Practices Kubernetes-Ressourcenmanagement

Container Orchestration at Scale


Kubernetes ist viel mehr als nur ein Orchestrierungswerkzeug für Container. Es ist ein Rechenzentrumskernel zum Aufbau verteilter Architekturen – ganz gleich, ob in der privaten oder der public Cloud. Diese mehrteilige Artikelserie erläutert beispielhaft und basierend auf mehrjähriger Praxiserfahrung des Autors, welche Primitiven Kubernetes zur Ressourcensteuerung, wie CPU und Hauptspeicher, sowie der Einhaltung von Service-Leveln (Quality of Service) für die unterschiedlichsten Arbeitslasten bereitstellt.

Artikelserie

Teil 1: Ressourcenmanagement mit Kubernetes

Teil 2: Deep Dive Kubernetes-Ressourcenmanagement

Teil 3: Best Practices Kuberentes-Ressourcenmanagement

Die ersten beiden Artikel dieser Serie zum Ressourcenmanagement mit Kubernetes legten den Schwerpunkt auf die Implementierungsdetails von Containern im Linux-Kernel und wie diese in größeren Umgebungen mittels Kubernetes orchestriert werden können. Nicht nur für Betreiber dieser Plattform, sondern auch für Entwickler, können diese Grundlagen von großem Nutzen sein. Und nicht nur das. Um einen stabilen, effizienten und performanten Betrieb von verteilten Anwendungen auf Kubernetes zu gewährleisten, ist ein tieferes Verständnis gar zwingende Voraussetzung.

Dieser dritte und zugleich letzte Artikel der Serie widmet sich abschließend häufigen Fragestellungen und Empfehlungen aus der Praxis, die direkt umgesetzt werden können. Bevor wir jedoch eintauchen, noch einmal ein kurzer Blick zurück. Denn das Gelernte aus den vorherigen Artikeln ist vielleicht nicht mehr ganz so präsent.

Rekapitulation

Der erste Artikel hat aufgezeigt, dass die mittlerweile berühmten Docker-Container im Linux-Kernel mit denselben Primitiven wie „normale“ Prozesse modelliert werden. Streng genommen kennt der Kernel gar keine Container. Die Verwaltungsstrukturen, die der Kernel im Speicher für jeden Prozess (Thread) abbildet (task_struct), ermöglichen das Setzen von erweiterten Eigenschaften zur Ressourcensteuerung (Cgroups), virtuellen Abschottung (Namespaces) u. v. m. Und genau diese nutzen Docker und Co., um uns die Illusion einer leichtgewichtigen Prozessvirtualisierung im Linux-Betriebssystem zu vermitteln.

Docker hat es also geschafft, die komplexe Administration von Cgroups, Namespaces sowie erweiterten Sicherheitskontrollen in eine einfach zu nutzende und aus Entwicklersicht praktische Toolbox („Build, Ship, Run“) zu integrieren. Das verhalf den teilweise über zehn Jahre alten Kernelimplementierungen zu einem sagenha...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang