Kubernetes – the conductor of the ensemble

Kubernetes – the conductor of the ensemble

02.09.2020
Wie im letzten Artikel zu Cloud Native Infrastructure schon beschrieben, erreichen „Born in the Cloud“-Unternehmen ihren Erfolg durch schnelle Reaktionszeiten auf Marktentwicklungen – von der Idee bis zur Liveschaltung innerhalb von wenigen Tagen.

Kubernetes oder auch K8s – K(acht Zeichen)s – ist seit Jahren in der Cloud Native Welt das mit Abstand am weitesten verbreitete Orchestrierungstool und gilt durch die Stärke seiner Open-Source-Community (Cloud Native Computing Foundation) als Standard für die Orchestrierung containerbasierter Anwendungen über Clouds und Rechenzentren hinweg. Ursprünglich entwickelte Google das Projekt „Borg“, um Herausforderungen des gewaltigen Wachstums der Suchmaschine zu bewältigen. Ein großer Wurf für die Allgemeinheit war die Idee, Borg als Open-Source-Lösungen zur Verfügung zu stellen – Kubernetes.
Während Kubernetes als eigenständiges Open-Source-Projekt ein effektives Container-Management-Werkzeug ist, wird sein volles Potenzial in der Cloud Native Infrastructure, oder auch als Cloud Native Platform, für Unternehmen erst durch die Integration eines „Ecosystems“ mit sich ergänzenden Tools wie „Prometheus“, „OpenEBS“ oder „Calico“ ausgeschöpft. Einfach ausgedrückt: Kubernetes allein reicht nicht aus, um erfolgreich zu sein.

Was ist Kubernetes?

Kubernetes ist eine Open-Source-Plattform, welche manuelle Prozesse wie die Bereitstellung, Verwaltung und Skalierung von containerbasierten Anwendungen automatisiert.
Mit anderen Worten: Es können Gruppen von physischen oder virtuellen Servern, Linux sowie Windows, zu Clustern zusammengefasst werden, und Kubernetes hilft bei der Orchestrierung von Containern und der automatisierten Verwaltung dieser Cluster.
Kubernetes Cluster können in lokalen, öffentlichen, privaten oder hybriden Clouds laufen. Aus diesem Grund ist Kubernetes eine ideale Plattform für das Hosting von Cloud Native Applications, die eine schnelle Skalierung erfordern, wie z. B. ein Musik-Streaming-Dienste wie Spotify. Dabei überwacht Kubernetes den Zustand der Anwendungen kontinuierlich und kümmert sich automatisiert um die Verfügbarkeit – fällt eine Instanz/ein Container der Anwendung aus oder ist nicht erreichbar, wird diese/r neugestartet.  

 

Kubernetes Ecosystem?


Bei allem, was Kubernetes kann, bleiben viele Entscheidungen offen. Besonders das große Angebot an der Cloud Native Landscape kann überwältigend wirken. Um eine vollständige Containerplattform aufzubauen, müssen Komponenten für beispielsweise Networking, Loadbalancing, Storage, Monitoring oder Logging integriert werden. Diese Integrationen von Test bis Produktionsphase kann Ihnen zum Beispiel D2iQ‘s Konvoy abnehmen.
Für Themen wie DevOps und GitOps für die Automatisierung ebnen Container und Kubernetes den Weg für den Aufbau von Pipelines für CI/CD (Continous Integration/Deployment). Auch hier müssen die richtigen Cloud Native Tools gefunden werden. Eine Vereinfachung bietet unser Partner D2iQ mit dem Produkt Dispatch.
Ein weiterer wichtiger Punkt in der Bereitstellung und dem Betrieb von Kubernetes ist es, den Überblick zu behalten (Cluster Sprawl) und dabei Themen wie Management, Security und Governance zentral verwalten zu können – hier kann beispielsweise D2iQ‘s Kommander helfen.
Selbstverständlich gibt es für die verschiedenen Bereiche auch andere Anbieter wie Red Hat OpenShift oder aber auch HPE Ezmeral Container Platform. Gerne stellen wir Ihnen auch diese Lösungen vor und zeigen Ihnen die Vorteile und Unterschiede der Plattformen.

Fazit

In der heutigen Cloudwelt spricht man von Day 0, Day 1 und Day 2 Operations. Day 0 ist die Testphase, Day 1 die Inbetriebnahme und Day 2 der Produktionsbetrieb. Für all diese Bereiche muss das richtige Tooling gefunden und/oder integriert werden.
Am Markt finden sich Public Cloud Anbieter mit „Managed“-Kubernetes Lösungen wie zum Beispiel AKS (Azure), EKS (Amazon) oder auch GKE (Google), die Aufgaben von Day 0 bis Day 2 abnehmen können.
Häufig sehen wir aber, dass eine Cloudlösung nicht infrage kommt. Aus diesem Grund gibt es Lösungen wie D2iQ Konvoy, Red Hat Openshift oder aber auch SUSE Rancher.
Die genannten Lösungen bieten viele Vorteile aber auch teilweise Nachteile wie „Lock-Ins“, die, je nach Use-Case und Präferenz, zu vermeiden sind.

Wir beraten und unterstützen Sie schon vor Day 0 bei den ersten Fragen wie „Was ist ein Container?“ bis hin zu Day 2 und komplexen Fragestellungen wie „Wie bilde ich ein Canary Deployment in Kubernetes ab?".

Hier geht's zum 1. Artikel Einführung in Cloud Native Infrastructure.