Cloud-nativ: Eclipse JKube 1.4 setzt auf Multi-Layer für Container-Images

Durch den Einsatz mehrerer Layer soll JKube, eine Plug-in- und Library-Sammlung zum Erstellen Cloud-nativer Java-Anwendungen, Images effizienter erstellen.

In Pocket speichern vorlesen Druckansicht

(Bild: Travel mania/Shutterstock.com)

Lesezeit: 2 Min.
Von
  • Maika Möbus

Die Eclipse Foundation hat Eclipse JKube 1.4 veröffentlicht, das auf das nicht mehr verwendete Maven-Plug-in Fabric8 zurückgeht und auf Maven Central verfügbar ist. Es ist ein Kit zum Entwickeln Cloud-nativer Java-Anwendungen, das aus einer Sammlung von Plug-ins und Libraries zum Erstellen von Container-Images mit Docker, Googles Jib und Red Hats Source-to-Image-Build-Strategien (S2I) besteht. Daneben stellt JKube Werkzeuge etwa für das Überwachen, Logging und Debugging bereit.

JKube 1.4 bringt Support für Multi-Layer in Container-Images mit: Das Image-Build-Modell lässt sich nun mit mehreren Layer-Assemblies definieren und erlaubt das Verpacken verschiedener Schichten. Auch der Quarkus-Generator kann dank einer Aktualisierung von diesem neuen Feature Gebrauch machen.

Bislang war es so, dass JKube die Vorbereitungen für das Erstellen eines Container-Images in einem temporären Verzeichnis durchführte, das sich anschließend mittels COPY-Statement zum Image hinzufügen ließ. Mit jeder Änderung am Programmcode änderte sich auch der Layer, was laut Eclipse besonders bei der Arbeit mit Jib ineffizient war. Jib ist ein von Google entwickelter Container-Image-Builder zum Erstellen von Docker- und OCI-Images ohne Docker Daemon. Es reiht sich mit S2I und dem Plug-in Dockerfile Maven in eine Reihe von Werkzeugen ein, die das manuelle Erstellen von Docker-Files obsolet machen.

Als eine weitere Neuerung bietet JKube 1.4 die Möglichkeit, Docker-Images als Output für OpenShift-Builds zu nutzen. Das Übergeben der Images an eine externe Registry mithilfe von OpenShifts Build-Output-Konfiguration erfordert folgende Codezeile:

<jkube.build.buildOutput.kind>DockerImage</jkube.build.buildOutput.kind>

Die Installation von JKube erfolgt für Maven-basierte Projekte durch das Hinzufügen des Kubernetes-Maven-Plug-ins oder des OpenShift-Maven-Plug-ins zu den eigenen Plug-in-Dependencies:

<plugin>

  <groupId>org.eclipse.jkube</groupId>

  <artifactId>kubernetes-maven-plugin</artifactId>

  <version>1.4.0</version>

</plugin>

Alle weiteren Details zu Eclipse JKube 1.40 sind in einem Blogeintrag sowie in den Release Notes festgehalten.

(mai)