© Natali Snailcat/Shutterstock.com
Entwickler Magazin
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


ArtikelserieTeil 1: Motivation, Fehler und Beefy ServerTeil 2: Speicheroptionen und Back-upsTeil 3: CPU, Multiplexing, Netzwerk, Service Discovery und mehrTeil 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 dieser Popularität ist ganz klar, dass nicht nur viel Software innerhalb von Kubernetes geschrieben wird, sondern auch viel Software drum herum. So gibt es viele Projekte, die sich um persistenten Speicher drehen oder um Netzwerke, Service Discovery, Sicherheit und so weiter. Weiterhin ist von sehr großem Vorteil, dass es auch gehostete Kubernetes-Angebote gibt und auch Installation und Betrieb im eigenen Rechenzentrum immer einfacher werden.

Wie funktioniert Kubernetes eigentlich?

Ich möchte an dieser Stelle nur eine sehr vereinfachte Erläuterung geben, was Kubernetes ist und wie einige Aspekte innerhalb von Kubernetes funktionieren, damit wir darauf aufbauend besprechen kön...

Entwickler Magazin
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


ArtikelserieTeil 1: Motivation, Fehler und Beefy ServerTeil 2: Speicheroptionen und Back-upsTeil 3: CPU, Multiplexing, Netzwerk, Service Discovery und mehrTeil 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 dieser Popularität ist ganz klar, dass nicht nur viel Software innerhalb von Kubernetes geschrieben wird, sondern auch viel Software drum herum. So gibt es viele Projekte, die sich um persistenten Speicher drehen oder um Netzwerke, Service Discovery, Sicherheit und so weiter. Weiterhin ist von sehr großem Vorteil, dass es auch gehostete Kubernetes-Angebote gibt und auch Installation und Betrieb im eigenen Rechenzentrum immer einfacher werden.

Wie funktioniert Kubernetes eigentlich?

Ich möchte an dieser Stelle nur eine sehr vereinfachte Erläuterung geben, was Kubernetes ist und wie einige Aspekte innerhalb von Kubernetes funktionieren, damit wir darauf aufbauend besprechen kön...

Neugierig geworden?


   
Loading...

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