Neues von den Container Days 2018

Geschrieben von Dennis Hingst veröffentlich am in der Kategorie Allgemein

Eine bessere Location als das Hamburger Hafenmuseum hätten die Organisatoren der Container Days 2018 wohl kaum finden können. Zwischen einem denkmalgeschützten Kaischuppen und dem hervorragend erhaltenen Museumsschiff Bleichen wurde mit Blick auf die Containerschiffe am Hafen drei Tage lang über Themen aus dem Docker-Umfeld geschnackt, geworkshoppt und genetzwerkt.

Mit Craig McLuckie, einem der Mitgründer des Kubernetes-Projekts, konnte das Team einen hochkarätigen Speaker für die Keynote gewinnen – der dann auch gleich meine wichtigste Frage an die Konferenz beantworten konnte: Wie wird Kubernetes eigentlich richtig ausgesprochen? Craig sagte Kjuba- näi-ties. Und daran werde ich mich jetzt halten.

 

Windows-Container bleiben ein Randthema

Wir bei netzkern arbeiten gerade selbst intensiv an der Containerisierung unserer technischen Infrastruktur – und haben es als .NET-lastige Agentur leider nicht immer einfach. Schließlich ist der Support für Windows-Container noch immer etwas halbgar. Und auch wenn Microsoft mittlerweile ein größeres Augenmerk auf diese Problematik gelegt hat und sich hier zurzeit viel tut, stehen wir trotzdem noch immer häufig vor Problemen, bei denen unsere Linuxer nur verzweifelt mit dem Kopf schütteln können. Auch auf den Container Days war Containerisierung im Microsoft-Stack leider nur ein Randthema. Trotzdem habe ich einige interessante Themen und Denkanstöße mitgenommen, die ich hier kurz zusammenfassen möchte:

  • Cluster API ist ein neues Kubernetes-Feature im Prototype-Stadium, mit dem es in Zukunft möglich sein soll, Cluster vollumfänglich über die native Kubernetes-API zu verwalten. Man muss dann zur Konfiguration seines Clusters bei einem Cloud-Dienstleister oder auch On Premises nicht mehr über die jeweils proprietären Schnittstellen gehen, sondern kann dafür das gewohnte CLI (kubectl bzw. clusterctl) verwenden.
  • Ein ziemlich interessantes Konzept ist „Self-Healing Kubernetes“. Dabei läuft Kubernetes selbst in einem Kubernetes-Cluster (Kubeception!). „Now, you could ask, why would anyone want to run multiple Kubernetes clusters inside of a Kubernetes cluster? Are we crazy? The answer is advanced multi-tenancy use cases as well as operability and automation thereof.”
  • Wusstest du schon, dass du eigene Objekttypen in Kubernetes anlegen und verwalten kannst? Diese Objekttypen fungieren dann als Data Store, der sich selbstständig (durch etcd im Hintergrund) im gesamten Cluster verfügbar macht, man muss sich also praktisch um nichts mehr kümmern. Das Stichwort dazu heißt CustomResourceDefinition .
  • Ein neues Hilfsmittel für Integrationstests in der Containerwelt sind Testcontainers – da zitiere ich einfach mal Github: „Testcontainers is a Java 8 library that supports JUnit tests, providing lightweight, throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container.“ Es gibt auch eine .NET-Version , die aber noch in der frühen Entwicklung ist.
  • Istio ist ein Management Layer für Kubernetes (Stichwort: Service Mesh), das viele netzwerkbezogene Probleme löst. Dazu gehören unter anderem Load Balancing, verschlüsselte Kommunikation im Cluster und Zugriffskontrolle, aber auch Funktionen, die etwa A/B-Testing und die Erhebung und Auswertung von Telemetriedaten erleichtern. Mit Google, IBM und Lyft hat Istio starke Unterstützer im Rücken und wird wohl nicht so schnell wieder aus der Containerlandschaft verschwinden.
  • KubeCI ist „cloud native continuous delivery“ und eventuell ein Lichtblick für alle TFS-Geschädigten (bzw. eine Alternative für TFS-Freunde, die es ja auch geben soll 😉)

Vielen Dank an die Organisatoren dieses gelungenen Events!