© Natali Snailcat/Shutterstock.com
Cloud Compendium
Teil 4: Deep-dive in die Containerorchestrierung und Kubernetes

Tief hinab!


In den vergangenen Jahren haben wir unsere Anwendungen in Container verpackt, um diese zu isolieren und einfach auslieferbar zu machen. Nun kämpfen wir damit, Anwendungen mit persistenten Daten in Containern zu betreiben, um sie fehlertoleranter und skalierbarer zu machen. Daher betreiben wir Datenbanken meist in separaten Clustern, weil es noch relativ schwer ist, sie sinnvoll in Containern zu orchestrieren. Das bedeutet allerdings, dass wir unsere gesamte Infrastruktur nicht optimal ausnutzen und Skalierungseffekte zwischen zustandslosen und zustandsbehafteten Anwendungen verschenken. Aber was bedeutet es eigentlich, eine Datenbank in einen Container zu stecken?

Artikelserie

Teil 1: Motivation, Fehler und Beefy Server

Teil 2: Speicheroptionen und Back-ups

Teil 3: CPU, Multiplexing, Netzwerk, Service Discovery und mehr

Teil 4: Deep-dive in die Containerorchestrierung und Kubernetes

Im vorherigen Teil haben wir verschiedene Technologien und ihre Auswirkung auf die Performanz untersucht. Abschließend haben wir diskutiert, dass ein einfacher Befehl wie docker run oder docker-compose up nicht ausreicht, um eine Produktionsumgebung zu betreiben. Wir müssen uns Gedanken über die Orchestrierung unserer Anwendung machen, uns also mit Container-Scheduling befassen. Dabei geht es darum, wann und wo ein Container aus welchem Grund gestartet wird. Weiterhin müssen wir uns mit dem Ressourcenmanagement beschäftigen, also den Zugriff unserer Container auf Ressourcen einschränken. Abschließend müssen wir uns noch um das Service-Management kümmern, also dafür sorgen, dass sich unsere Container gegenseitig finden, wir Abhängigkeiten auflösen und so weiter. Eine Lösung für all diese Herausforderungen bietet zum Beispiel Kubernetes, das Framework für die Containerorchestrierung. Wir werden Kubernetes in diesem Teil der Reihe intensiv betrachten.

Die diesjährige europäische Version der Kubernetes-Konferenz KubeCon fand in Barcelona statt und hatte über 8 000 Besucher. In einer der Keynotes wurde von Cheryl Hung berichtet, dass Kubernetes zum damaligen Zeitpunkt über 2,66 Millionen Kontributionen von über 50 000 Helfern hatte. Dabei wurden nicht nur Codekontributionen gezählt, sondern auch Code-Reviews, Dokumentationen oder das Erstellen von Issues auf GitHub. Damit zählt Kubernetes wohl zu den aktuell aktivsten und größten Open-Source-Projekten und hat sich in den letzten Jahren zu der am weitesten verbreiteten Orchestrierungslösung für Container etabliert. Der Vorteil dies...

Cloud Compendium
Teil 4: Deep-dive in die Containerorchestrierung und Kubernetes

Tief hinab!

In den vergangenen Jahren haben wir unsere Anwendungen in Container verpackt, um diese zu isolieren und einfach auslieferbar zu machen. Nun kämpfen wir damit, Anwendungen mit persistenten Daten in Containern zu betreiben, um sie fehlertoleranter und skalierbarer zu machen. Daher betreiben wir Datenbanken meist in separaten Clustern, weil es noch relativ schwer ist, sie sinnvoll in Containern zu orchestrieren. Das bedeutet allerdings, dass wir unsere gesamte Infrastruktur nicht optimal ausnutzen und Skalierungseffekte zwischen zustandslosen und zustandsbehafteten Anwendungen verschenken. Aber was bedeutet es eigentlich, eine Datenbank in einen Container zu stecken?

Johannes Unterstein


In den vergangenen Jahren haben wir unsere Anwendungen in Container verpackt, um diese zu isolieren und einfach auslieferbar zu machen. Nun kämpfen wir damit, Anwendungen mit persistenten Daten in Containern zu betreiben, um sie fehlertoleranter und skalierbarer zu machen. Daher betreiben wir Datenbanken meist in separaten Clustern, weil es noch relativ schwer ist, sie sinnvoll in Containern zu orchestrieren. Das bedeutet allerdings, dass wir unsere gesamte Infrastruktur nicht optimal ausnutzen und Skalierungseffekte zwischen zustandslosen und zustandsbehafteten Anwendungen verschenken. Aber was bedeutet es eigentlich, eine Datenbank in einen Container zu stecken?

Artikelserie

Teil 1: Motivation, Fehler und Beefy Server

Teil 2: Speicheroptionen und Back-ups

Teil 3: CPU, Multiplexing, Netzwerk, Service Discovery und mehr

Teil 4: Deep-dive in die Containerorchestrierung und Kubernetes

Im vorherigen Teil haben wir verschiedene Technologien und ihre Auswirkung auf die Performanz untersucht. Abschließend haben wir diskutiert, dass ein einfacher Befehl wie docker run oder docker-compose up nicht ausreicht, um eine Produktionsumgebung zu betreiben. Wir müssen uns Gedanken über die Orchestrierung unserer Anwendung machen, uns also mit Container-Scheduling befassen. Dabei geht es darum, wann und wo ein Container aus welchem Grund gestartet wird. Weiterhin müssen wir uns mit dem Ressourcenmanagement beschäftigen, also den Zugriff unserer Container auf Ressourcen einschränken. Abschließend müssen wir uns noch um das Service-Management kümmern, also dafür sorgen, dass sich unsere Container gegenseitig finden, wir Abhängigkeiten auflösen und so weiter. Eine Lösung für all diese Herausforderungen bietet zum Beispiel Kubernetes, das Framework für die Containerorchestrierung. Wir werden Kubernetes in diesem Teil der Reihe intensiv betrachten.

Die diesjährige europäische Version der Kubernetes-Konferenz KubeCon fand in Barcelona statt und hatte über 8 000 Besucher. In einer der Keynotes wurde von Cheryl Hung berichtet, dass Kubernetes zum damaligen Zeitpunkt über 2,66 Millionen Kontributionen von über 50 000 Helfern hatte. Dabei wurden nicht nur Codekontributionen gezählt, sondern auch Code-Reviews, Dokumentationen oder das Erstellen von Issues auf GitHub. Damit zählt Kubernetes wohl zu den aktuell aktivsten und größten Open-Source-Projekten und hat sich in den letzten Jahren zu der am weitesten verbreiteten Orchestrierungslösung für Container etabliert. Der Vorteil dies...

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