Kubernetes – Docker for Business?

Container

Vielleicht hat man Kubernetes schon gehört oder sogar benutzt, aber wofür brauchen wir es eigentlich und welchen Nutzen bringt es uns?

Wenn man bereits von Docker gehört hat, sind einem wahrscheinlich auch die tollen Vorteile von Übertragbarkeit auf andere Systeme, Wiederholbarkeit und Skalierbarkeit bekannt. Das Problem geht allerdings los, wenn man Docker auf mehr als einem System nutzen möchte. Gerade in der Produktion ist Ausfallsicherheit wichtig. Docker bekommt man auf einer Maschine noch leicht mit einem Script administriert, mit Infrastructure as Code vermutlich auch auf mehreren Maschinen – aber der Aufwand steigt gewaltig.

Wenn jetzt noch Programme schnell, einfach und sicher über eine CI/CD Pipeline aktualisiert werden sollen – auch bei einem Ausfall von Maschinen sowie ohne Eingreifen von Mitarbeitern und möglichst ressourcensparend – kommt man doch schnell zu einem nicht mehr so einfach überschaubaren Haufen Arbeit.

An dieser Stelle greift sich Kubernetes die Aufgaben und sorgt für eine optimale Ausnutzung der Ressourcen und eine einfache Skalierbarkeit. Außerdem überwacht es nicht nur die Programme während des Update Prozesses sondern mit Health Checks auch während der Laufzeit. Und sollte einmal eine Maschine ausfallen oder gewartet werden, sorgt Kubernetes dafür, dass die Programme automatisch auf einem anderen Host gestartet werden.

Wenn man also Docker für 1-10 Services benutzt, die wohl immer gleich bleiben, setzt Kubernetes an dem Punkt an, wo ein Mensch alleine die Übersicht verlieren würde. Und durch eine deklarative Schreibweise sorgen wir dafür, dass Kubernetes den Stand des Systems so beibehält wie wir es gerne hätten – auch am Wochenende und nach Feierabend.

In unserer mehrteiligen Schulung lernen unsere Superhelden die Grundlagen von Pods bis Loadbalancern.