Entlastung vor allem für kleine und mittelgroße Unternehmen Einfach orchestriert: Das Verwalten der IT-Infrastruktur mit Managed Kubernetes
Anbieter zum Thema
Die Nutzung von „Kubernetes“ bietet Unternehmen viele Vorteile, allen voran sorgt die Container-Virtualisierung für mehr Effizienz und niedrigere Kosten in der IT. Allerdings gilt Kubernetes als schwierig in der Handhabung, viele IT-Teams nutzen das Open-Source-System deshalb nur zaghaft. Die Alternative: Managed Kubernetes.
![Container, Service Meshes, Kubernetes sind toll, dennoch erscheinen die Cloud-nativen Technologien vielen als zu kompliziert. Gegen die Komplexität hilft Kubernetes als Managed Service. Container, Service Meshes, Kubernetes sind toll, dennoch erscheinen die Cloud-nativen Technologien vielen als zu kompliziert. Gegen die Komplexität hilft Kubernetes als Managed Service.](https://cdn1.vogel.de/Rz58zB0MuJlP3bbVv4mJPs4uMHI=/fit-in/800x0/p7i.vogel.de/wcms/91/29/9129524093f2b04d523801af47b99141/0104513184.jpeg)
IT-Infrastrukturen in Unternehmen wachsen seit längerer Zeit stark an. Die Digitalisierung und auch neue Arbeitsweisen wie Home Office und Remote Work haben den Bedarf nach Infrastrukturen gesteigert. Dies führt dazu, dass Unternehmen teilweise bis zu mehrere Tausend Anwendungen gleichzeitig in Betrieb haben.
Hier bietet sich eine Container-Virtualisierung an, um Kapazitäten von Netzwerken besser auszulasten. Anwendungen packt das System dabei in Container, die untereinander und vom Betriebssystem isoliert sind. Sie sind effizienter, da sie weniger Arbeitsspeicher und Storage als virtuelle Server benötigen.
Doch Container an sich reichen noch nicht aus: Um die Effizienz noch weiter zu steigern, nutzen Rechenzentren Microservices.
Kubernetes als Dirigent für Container
Ähnlich einem Orchester kommt es bei Container Services darauf an, nicht den Einsatz zu verpassen – auch in der IT-Fachsprache ist daher von Orchestrierung die Rede. Abhängigkeiten von Services und Anwendungen untereinander sind dabei eher die Regel denn die Ausnahme, darüber hinaus müssen die nötigen Ressourcen zur Verfügung stehen. Möglich ist etwa, jeden neu gestarteten Container auf einem anderen Server laufen zu lassen, da dort jeweils gerade ausreichend Kapazitäten frei sind.
Dies manuell zu tun, ist Sisyphusarbeit, eine Automatisierung bietet sich daher an. Glücklicherweise sind die Tools zur Orchestrierung zahlreich: „Docker Swarm“, „Apache Mesos“, „Nomad“ oder Kubernetes, die mit Abstand beliebteste Orchestrierungslösung, sind Beispiele für virtuelle Dirigenten. Kubernetes hat sich mittlerweile als Mittel der Wahl durchgesetzt und wird von vielen Unternehmen genutzt.
Kleine und mittelgroße Unternehmen profitieren allerdings nicht in gleichem Maße davon wie größere Organisationen: Vor allem bei komplexen und/oder sehr großen Infrastrukturen ist der Konfigurationsaufwand recht hoch.
Ausprobieren im Cluster
Da Kubernetes Open-Source-Software ist, kann sie theoretisch jeder nutzen. Dies regt zum Ausprobieren an, so dass viele Organisationen bereits damit experimentieren und versuchen, die Auslastung ihrer Infrastruktur mit Hilfe von Kubernetes zu optimieren.
Um dies zu bewerkstelligen, benötigt man ein Kubernetes-Cluster. Dieses besteht aus zwei oder mehr Knoten (Nodes). Dabei kann es sich um physische Computer oder virtuelle Maschinen (VMs) handeln.
Einer der Knoten ist der so genannte Master-Node, der die Verwaltungsarbeit übernimmt. Die anderen Knoten sind Worker-Nodes, auf denen die eigentlichen Anwendungen laufen. Der kleinste mögliche Kubernetes-Cluster besteht aus einem Master und einem Worker. Er kann im Grunde auf jedem leistungsfähigen Linux-Rechner mit einem Hypervisor für VMs gestartet werden. Für Experimente ist diese Konfiguration ausreichend, für den produktiven Betrieb sind größere Infrastrukturen notwendig.
Das Erzeugen von Containern und das Verteilen auf Pods
Dies gilt als einer der komplizierteren Arbeitsschritte bei Kubernetes. Ein größerer physischer Kubernetes-Cluster kann mit Hilfe von Namespaces in mehrere virtuelle Cluster zergliedert werden, um beispielsweise bei unterschiedlichen Projekten, Teams oder Geschäftsbereichen zum Einsatz zu kommen. Somit blockieren sich die einzelnen Bereiche nicht und die Infrastruktur ist leichter zu verwalten.
Pods sind Einheiten aus zwei oder mehr Containern und werden stets gemeinsam auf einem Knoten gestartet, weil es zwischen ihnen Abhängigkeiten gibt. Hierunter fallen ERP-Systeme, die Daten mit Manufacturing Execution Systemen (MES) austauschen, so dass beide gleichzeitig in einem Pod gestartet werden sollten.
Üblicherweise führt eine „Docker-Engine“ die Container aus. Kubernetes übernimmt dabei die Arbeit der Administratoren und vereinfacht die Bereitstellung der Anwendungen. Zudem müssen sich Entwickler:innen nicht mehr mit der Verteilung der Anwendungen auf die Knoten befassen – das geschieht automatisch.
Automatisierung für moderne IT-Infrastrukturen
Hier kommt es auf die Anforderungen an, die Entwickler:innen an die Ressourcen stellen. Diese Anforderungen fügt er/ sie als Beschreibung dem Container hinzu. Kubernetes übernimmt dann das gesamte Management von Containern, Bots und Knoten. Somit wird eine optimale Kommunikation der Services und Container sowie eine gute Auslastung garantiert.
Hinzu kommt die Zustandsprüfung der einzelnen Knoten. Ausfälle von Knoten sind keine Seltenheit, je größer die Infrastruktur desto wahrscheinlicher ist ein Ausfall einzelner Komponenten. Auch hier hilft Kubernetes, indem das System alle vom Ausfall betroffenen Container automatisch auf einen funktionierenden Knoten verschiebt.
Hinzu kommt, dass Kubernetes vertikal autoskaliert. Das ist ein Vorteil und bedeutet, dass Ressourcen (Prozessoren und Speicher) auch während des Betriebs hinzugefügt oder entfernt werden können.
Die oben genannten Punkte unterstreichen den Automatisierungsgedanken hinter Kubernetes – die richtige Konfiguration vorausgesetzt. Das System übernimmt außerdem nicht die Provisionierung neuer Server oder die Bereitstellung von persistentem Speicher. Dafür ist eine weitere entsprechende Infrastruktur im Hintergrund notwendig. Die Komplexität von Kubernetes steigt so rasch an, IT-Teams kleiner und mittelgroßer Unternehmen können davon schnell überfordert sein.
Mit Managed Kubernetes gegen die Komplexität
Gegen die Komplexität helfen Kubernetes als Managed Service in der Cloud. Hier müssen sich die Nutzer:innen nicht mit administrativen Details beschäftigen, sondern können Kubernetes-Cluster mit wenigen Klicks anlegen. Passende Voreinstellungen und Templates zu haben, ist hilfreich: So sollten häufig benötigte Optionen wie Loadbalancer, Persistent Storage und Scheduler sinnvoll voreingestellt sein. Nutzer können mit diesen Standardwerkzeugen einen Anfang wagen und später, nachdem sie Erfahrungen mit Kubernetes gesammelt haben, detailliertere Konfigurationen vornehmen.
Ein wichtiges Feature ist dabei die Einbindung ins Service Mesh: Container-basierte Microservice-Strukturen werden schnell komplex. So können Anwendungen aus mehreren Hundert Services bestehen, so dass es schwer wird, den Überblick über die Interaktionen zwischen den Komponenten zu behalten.
Viele Entwickler:innen nutzen deshalb ein Service Mesh, das die Kommunikation in eine dedizierte Schicht auslagert. Dies verringert die Komplexität und die Microservices selbst werden schlanker. So kann es sehr hilfreich sein, wenn die gewählte Kubernetes-Plattform die nahtlose Integration von Service Meshes anbietet.
Managed Kubernetes hat einen entscheidenden Vorteil: IT-Teams in den Unternehmen müssen sich nicht mit den Details beschäftigen. Der Anbieter kümmert sich um Monitoring, Release-Management und Betrieb der gesamten Container-Infrastruktur.
User können sich stattdessen ganz auf den Betrieb der Anwendungen konzentrieren. Dies ermöglicht teilweise erhebliche Zeit- (und damit Kosten-)Einsparungen, da die IT-Infrastruktur schlanker wird. Verfügbarkeit und Stabilität der Infrastruktur sind dabei auf dem Niveau großer Rechenzentren.
* Henrik Hasenkamp ist der Gründer und CEO von Gridscale.
Artikelfiles und Artikellinks
(ID:48284972)