Meine Lernreise

Meine Reise in die Welt der Container-Orchestrierung

Meine Reise beginnt hier. Wo sie am Ende hinführt, kann ich nicht genau sagen, aber ich kann dir versprechen, dass du bei meiner Reise in der ersten Reihe mitgenommen wirst und eine hoffentlich interessante sowie abwechslungsreiche Reise in die Welt der Container-Orchestrierung aus der Perspektive eines IT-affinen Kubernetes-Anfängers erleben wirst. Meinen Weg werde ich hier genauestens beschreiben. Ein Weg muss auch ein Ziel haben – oder zumindest ein Zwischenziel, damit die Motivation und der Ansporn nicht auf der Strecke bleiben.

Mein Zwischenziel: Certified Kubernetes Administrator (CKA)

Als Zwischenziel habe ich mir zunächst eine Zertifizierung zum Certified Kubernetes Administrator (CKA) gesetzt. Auf Grundlage der Anforderungen für diese Zertifizierung werde ich auch meinen Weg gestalten.

Erinnerungen an Dual-Boot und die Anfänge

Erinnerst du dich noch an die Zeit, als du auf einem physischen System, wie dem im eigenen Heim stehenden Personalcomputer, mehrere Betriebssysteme parallel installieren konntest? Da konnte man beim Start des Rechners im Bootmenü entscheiden, ob man mit Windows oder mit Linux arbeiten möchte.

Seitdem ist viel Zeit vergangen, und die Technologien haben sich rasant weiterentwickelt. Wir leben nun alle im digitalen Zeitalter – Künstliche Intelligenzen und Robotik beschäftigen die klügsten Köpfe der Welt. Doch was die klügsten Köpfe immer brauchen werden, ist die Hardware und die Bereitstellung der Anwendungen. Und genau hier kommt die Container-Technologie ins Spiel – zumindest ist sie derzeit aus meiner Sicht eine der besten Lösungen. Bis vielleicht etwas Neues erfunden wird, das diesen Platz einnimmt.

Wir ITler müssen uns ständig weiterentwickeln, da wir ständig mit neuesten Technologien konfrontiert werden. Wir dürfen uns nicht erlauben, stehen zu bleiben, sonst kommen wir mit dem Fortschritt nicht hinterher. Unser Job soll uns weiterhin Spaß machen – und das ist nur möglich, wenn wir mit den Entwicklungen der Zeit Schritt halten und affin gegenüber neuen Technologien werden. Aber genug vom Offtopic, weiter geht’s zu den eigentlichen Themen.

Der Schritt in die Virtualisierung

Als nächstes habe ich die Virtualisierung für mich entdeckt. Es war faszinierend und super einfach, ein Betriebssystem auf einer virtuellen Maschine zu installieren und verschiedene Technologien zu testen. Die tollen Virtualisierungslösungen wie Hyper-V, VirtualBox oder VMware Desktop habe ich ausgiebig getestet.

Als ich mich auf die Zertifizierung zum MCITP Enterprise Administrator für Windows Server vorbereitet habe, fand ich es besonders angenehm, meine eigene Domain zu erstellen, DNS und DHCP in meiner kleinen Testumgebung zu konfigurieren und zu testen. Leider musste ich jedoch schnell feststellen, dass die Ressourcen meines PCs nicht unendlich sind. Eine leichtgewichtige Lösung musste her – doch zu dieser Zeit war die Containerisierung noch nicht so weit entwickelt.

Vom virtuellen Server zum Container

Seitdem sind einige Jahre vergangen, und die Technologien haben sich weiterentwickelt. Heute haben wir die Möglichkeit, unsere Anwendungen in Form von Containern auszurollen – sei es im Testbetrieb oder im Echtbetrieb. Wir profitieren von tollen Skalierungsoptionen und der Möglichkeit eines schnellen Deployments und Updates. Aber wie funktioniert das?

Früher, um eine Webanwendung zu starten, musste ein Administrator zunächst die Schichten unter der Anwendung anpassen. Man installierte einen virtuellen Server und richtete dann, je nach den Anforderungen der Entwickler, Tomcat oder JBoss mit allen möglichen Konfigurationen ein. Heute habe ich jedoch die Möglichkeit, einen fertigen Container zu bekommen und ihn – abgesehen von wenigen Konfigurationsdateien und der Einbindung gültiger Zertifikate – unter den gleichen Bedingungen wie bei den Entwicklern laufen zu lassen.

Was hier passiert, ist, dass Container im Vergleich zu herkömmlicher Virtualisierung viel ressourcenschonender sind. Während bei Virtualisierung das gesamte Betriebssystem in einer virtuellen Maschine läuft, isolieren Container nur die Anwendungen und deren Abhängigkeiten, was zu einer erheblichen Reduzierung des Overheads führt. Das bedeutet, dass Container viel schneller starten und leichter zu skalieren sind, ohne dass dafür so viele Systemressourcen benötigt werden wie bei traditionellen VMs.

Docker als Einstieg in die Container-Welt

Und all das funktioniert mit Hilfe eines Docker-Containers. Docker ist eine Plattform, die es uns ermöglicht, Container zu erstellen, zu verteilen und auszuführen. Doch Docker ist nur der Einstieg.

Wenn wir über die Orchestrierung von Containern nachdenken, kommt Kubernetes ins Spiel. Kubernetes hilft dabei, eine große Anzahl von Containern zu verwalten, zu skalieren und zu überwachen. Docker allein bietet uns die Möglichkeit, einzelne Container zu betreiben, aber Kubernetes bietet eine Lösung für die Verwaltung und Automatisierung ganzer Container-Cluster – eine entscheidende Technologie, wenn es darum geht, komplexe und hochverfügbare Anwendungen zu betreiben.

Es gibt natürlich auch andere Container-Technologien wie Podman oder Docker Swarm, aber Docker und Kubernetes bilden immer noch das Herzstück vieler moderner DevOps-Pipelines. Container haben uns nicht nur die Entwicklung und den Testprozess erleichtert, sondern ermöglichen jetzt auch ein sehr schnelles und flexibles Deployment in Produktion.

Ausblick: Die „Black Box“ Docker verstehen

Aber was ist jetzt genau diese „Black Box“ Docker? Wie funktioniert sie? Wie ist sie entstanden? Welche weiteren Container-Technologien gibt es? Welche Möglichkeiten und Vor- und Nachteile bietet uns diese Lösung? Auf all diese Fragen werde ich in den kommenden Beiträgen eingehen, sobald ich mich tiefer in das Thema eingearbeitet habe.

Nach oben scrollen