Kubernetes von Google als IT-Infrastruktur-Dirigent
Security für Container
Mit zwei Demos untermauerte Sinha auf der Berliner Konferenz die Intentionen von Kubernetes 1.6. Gegenüber Computerworld erläutert sie die unterschiedliche Ausrichtung der beiden Vorführungen: «Die erste Demo sollte zeigen, wie durch rollenbasierte Zugriffskontrolle bestimmte User in die Lage versetzt werden, bestimmte Dinge zu tun, während andere User andere Dinge tun dürfen, ohne dass Konflikte auftreten. Insofern haben wir eine klassische Funktionalität der IT eingeführt, auf einem sehr granularen, detaillierten Niveau. Dieser Security-Mechanismus stellt für sich genommen sicher nichts Revolutionäres dar, erleichtert aber den täglichen Umgang mit der neuen Technologie von Containern.»
Die zweite Demo stellte Neuerungen rund um Dynamic Storage Provisioning vor: «In Containern ist es nicht einfach, einen bestimmten Status zu erhalten», so Sinha. «Wenn man zum Beispiel Daten schreiben will, und man hat aufgrund einer Änderung in der Applikation neue Informationen, dann muss man diese natürlich speichern. Aber ein Container kann immer plötzlich seinen Dienst versagen und ein anderer tritt an seine Stelle. Das bedeutet, man kann Informationen verlieren. Deshalb ist es so wichtig, einen Mechanismus zu entwickeln, der Storage mit Containern verbindet. Dieser Mechanismus wird in Kubernetes Volumes genannt. Wir haben viele Sub-Volumes, weil es viele verschiedene Formen von Storage gibt. Früher ist man davon ausgegangen, man hat beides nebeneinander – einen Computer, zum Beispiel einen Mainframe, und daneben ein Speichersystem. Dann wurde Virtualisierung eingeführt und der Computer oder der Mikroprozessor wurde in verschiedene Bereiche aufgeteilt, aber es gab daneben immer noch die Festplatte. Die virtuellen Maschinen (VMs) wurden Teil des Speichers. Jetzt gehen wir noch weiter und unterteilen sogar die VMs in Container. Und das heisst, man braucht etwas, um die Daten zu speichern, wenn ein einzelner Container seinen Dienst versagt, und um dann den Inhalt beziehungsweise die Daten zu finden und in einen neuen Container zu packen.»
Auf den Einwurf, dies sei ein grosser Nachteil von Containern gegenüber virtuellen Maschinen, antwortet Sinha knapp: «Korrekt» – um hinzuzufügen: «Das ist auch der Grund, warum man keine Applikationen mit langer Lebensdauer (stateful) in Container packt.» Meist lege man nur kurzlebige (stateless) Anwendungen in Containern ab.
Container können nicht die gleiche Rolle spielen wie Silo-Architekturen, dedizierte Server oder virtuelle Maschinen. Mit Dynamic Storage Provisioning ist man bei der Verbesserung der Technologie aber ein Stück vorangekommen. Sinha: «Mit Dynamic Storage Provisioning sorgen wir dafür, dass die Inhalte oder Daten von Containern nicht verloren gehen. Mit meiner Demo habe ich gezeigt, dass man den Inhalt eines Containers in einer laufenden Kopie (Claim) erfassen kann. Beim Ausfall eines Containers lässt sich dann sein Inhalt (Volume) in einen anderen Container verschieben und die Arbeit kann automatisch fortgesetzt werden. Der Nutzer braucht hier nicht einzugreifen.» Sinha betont, dass man mit der Dynamic-Storage-Provisioning-Technologie bereits einen Schwachpunkt des Container-Einsatzes neutralisieren könne. An weiteren Verbesserungen werde in der Forschungsabteilung von Google gearbeitet.