Möchten Sie mit Ihrem Team teilnehmen? Ab drei Personen profitieren Sie von unseren Gruppenrabatten! Direkt im Shop buchen!

Testgetriebene Entwicklung von Kubernetes Operators mit Testcontainern

Die Entwicklung von Kubernetes Operators in Java ist derzeit eher die Ausnahme als die Regel. Meist kommt stattdessen Go zum Einsatz – häufig wegen des besseren Toolings und umfangreicheren Testing-Supports.

Die Bibliothek kindcontainer auf Basis des Test-Frameworks Testcontainers schafft in Sachen testgetriebene Entwicklung von Operators und Controllers in Java Abhilfe.

Egal, ob nur die Control-Plane zum Testen benötigt wird oder doch die Interaktion mehrerer Operatoren bis zur Verfügbarkeit der Workloads geprüft werden muss – mit Hilfe von isoliert laufenden Kubernetes-Instanzen in Docker-Containern ist eine zuverlässige und einfach zu verwendende Teststrategie auch in JVM-Umgebungen kein Wunschdenken.

Vorkenntnisse

  • Teilnehmende der Session sollten sich in der Java-Welt zuhause fühlen und mit dem Operator-Pattern vertraut sein.
  • Auch das Deployment einer einfachen Kubernetes-Anwendung mit RBAC und Ingress sollte nicht für große Überraschungen sorgen.

Lernziele

Der Vortrag beschreibt zunächst die Herausforderungen beim testgetriebenen Entwickeln von Kubernetes-Operatoren. Mit Live-Coding-Beispielen wird gezeigt, wie mit Testcontainers isolierte Kubernetes-Instanzen aus JUnit-Tests heraus gestartet und in Testfällen verwendet werden. Auch weiterführende Themen wie private Docker-Registries mit eigener TLS-Infrastruktur und Zugriff auf Dienste im Test-Container via Ingress werden beleuchtet.

Speaker

 

Alex Stockinger
Alex Stockinger ist Software-Engineer mit mehr als zehn Jahren Erfahrung. In früheren Jahren vorwiegend in der Java-Welt des Beratungsgeschäfts zu finden, hat sich sein Schwerpunkt in letzter Zeit mehr und mehr in Richtung DevOps und Cluster-Orchestrierung bewegt. Seit letztem Jahr verbringt er bei AtomicJar seine Zeit in wechselnden Inception-Tiefen zwischen VMs, Containern und Kubernetes-Clustern.

CLC-Newsletter

Sie möchten über die Continuous Lifecycle und die ContainerConf auf dem Laufenden gehalten werden?

 

Anmelden