Eclipse JKube 1.20 está disponible!
En nombre de todo el equipo de Eclipse JKube
y de todos sus contribuidores, estoy muy contento de anunciar que hemos
liberado
la versión 1.20.0 de Eclipse JKube y que está disponible para su descarga desde
Maven Central 🎉.
Muchas gracias a todos los que habéis contribuido reportando issues, creando pull requests, dando feedback y promocionando el proyecto mediante blogs, videos, comentarios, etc. Valoramos muchísimo vuestra ayuda ¡seguid así!
Novedades
Sin más dilación, veamos cuáles son las novedades más importantes de esta versión:
- Jetty 12 es ahora el servidor de aplicaciones web por defecto
- Selección explícita del JDK para los generadores de Java
- Control detallado de la política de descarga de imágenes
- Compatibilidad con Maven 3.9.13 y versiones posteriores
- Correcciones en el redespliegue de StatefulSet y DaemonSet
- Spring Boot DevTools ahora se activa en las tareas
k8sWatch/ocWatchde Gradle - 🐛 Muchas otras mejoras y bug-fixes
Jetty 12 es ahora el servidor de aplicaciones web por defecto
Los proyectos de aplicaciones web (WAR) ahora se construyen sobre la imagen base jkube-jetty12 por defecto,
reemplazando la antigua imagen jkube-jetty9. Jetty 12 incorpora soporte para los namespaces de
Jakarta EE (jakarta.*) y mantiene tus contenedores ejecutándose sobre un servidor con soporte activo.
La antigua imagen jkube-jetty9 queda deprecada. Si tu proyecto es una aplicación web Java EE heredada que todavía
depende de los namespaces javax.*, puedes volver a Jetty 9 configurando la propiedad
jkube.generator.webapp.server=jetty9. Ten en cuenta que este cambio es potencialmente incompatible para dichas
aplicaciones heredadas, así que asegúrate de probar tu despliegue después de actualizar.
Además del nuevo valor por defecto, el hot deployment ahora funciona con Jetty 12 al usar k8s:watch/oc:watch en
modo copy, de modo que puedes seguir iterando sobre tu aplicación web sin reconstruir la imagen completa.
Selección explícita del JDK para los generadores de Java
Ahora puedes seleccionar explícitamente la versión del JDK que utiliza la imagen base en los generadores de Java
mediante la nueva propiedad jkube.java.version. Anteriormente el JDK se inferría automáticamente, lo que a veces
daba lugar a una imagen base que no coincidía con la versión que buscabas. Con esta propiedad puedes fijar el JDK
exacto que necesita tu carga de trabajo.
Control detallado de la política de descarga de imágenes
La gestión de la política de descarga de imágenes es ahora más consistente y flexible:
- Una
imagePullPolicypor imagen definida en la configuración de build ahora sobrescribe correctamente la política global, de modo que puedes ajustar el comportamiento imagen por imagen. - El servicio de build de Buildpacks ahora respeta la
imagePullPolicyglobal cuando no se ha definido una política por imagen, alineando su comportamiento con el de las demás estrategias de build.
Compatibilidad con Maven 3.9.13 y versiones posteriores
El Kubernetes Maven Plugin es ahora compatible con los cambios de SecDispatcher introducidos en Maven 3.9.13. Las
contraseñas de registro y de Helm se descifran usando el SettingsDecrypter de Maven, que es el mecanismo estándar y
soportado para gestionar credenciales cifradas.
Como consecuencia, la configuración <helm><security> y la propiedad jkube.helm.security quedan deprecadas en favor
de la configuración estándar -Dsettings.security.
Correcciones en el redespliegue de StatefulSet y DaemonSet
Los recursos StatefulSet y DaemonSet generados ya no incluyen la etiqueta de versión en sus
selector.matchLabels. Al ser el selector un campo inmutable, mantener ahí una etiqueta de versión impedía que estas
cargas de trabajo se redesplegaran tras un cambio de versión. Con esta corrección, puedes actualizar la versión de tu
aplicación y redesplegar cargas de trabajo StatefulSet y DaemonSet sin encontrarte errores de actualización.
Cómo utilizar esta versión
Si tu proyecto está basado en Maven, lo único que hay que hacer es añadir el Kubernetes Maven Plugin o el OpenShift Maven plugin a las dependencias de plugins del proyecto:
<plugin>
<groupId>org.eclipse.jkube</groupId>
<artifactId>kubernetes-maven-plugin</artifactId>
<version>1.20.0</version>
</plugin>Si tu proyecto está basado en Gradle, lo único que tienes que hacer es añadir el Kubernetes Gradle plugin o el OpenShift Gradle plugin a las dependencias de plugins:
plugins {
id 'org.eclipse.jkube.kubernetes' version '1.20.0'
}Cómo ayudar y colaborar
Si estás interesado o interesada en ayudar con el proyecto y es la primera vez que contribuyes, puedes echar un vistazo al tag "first-timers-only" en el repositorio. Hemos etiquetado issues muy sencillas para que puedas iniciarte en el mundo Open Source y a colaborar con la fundación Eclipse.
Si eres una persona más experimentada en el desarrollo o ya has contribuido alguna vez a JKube, busca entre las issues etiquetadas como "help wanted".
También nos encanta leer artículos y publicaciones mencionando nuestro proyecto y compartiendo la experiencia. El feedback es la única forma de mejorar y siempre es bienvenido.
Project Page | GitHub | Issues | Gitter | Mailing list | Stack Overflow

