Fabric8 Kubernetes Client 7.0 está disponible!
En nombre de todo el equipo de Fabric8
y de todos sus contribuidores, estoy muy contento de anunciar que hemos
liberado
la versión 7.0.0
de Fabric8 Kubernetes Client y que está disponible para su descarga desde
Maven Central 🎉.
Esta es la séptima versión mayor de Fabric8 Kubernetes Client, que trae numerosas novedades, correcciones de errores y mejoras, manteniendo los cambios que rompen la compatibilidad al mínimo. Para facilitarte la transición, hemos preparado una guía de migración para ayudarte a actualizar tu código a esta nueva versión.
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:
- Java 11 como versión mínima soportada
- Vert.x como implementación por defecto de HttpClient
- CRD Generator v2
- MockWebServer basado en Vert.x
- 🐛 Muchas otras mejoras y bug-fixes
Puedes encontrar la lista completa de cambios para esta versión en la release page en GitHub.
No olvides revisar la guía de migración para una actualización sin problemas.
Java 11 como versión mínima soportada
A partir de esta versión, Fabric8 Kubernetes Client ya no soportará Java 8. La versión mínima soportada es ahora Java 11.
Java 8 fue lanzado hace más de diez años, y es hora de avanzar hacia versiones más recientes. Hemos optado por soportar Java 11 como versión mínima porque es la primera versión LTS después de Java 8, y somos conscientes de que muchos usuarios todavía lo utilizan.
Continuaremos monitorizando la adopción de versiones más recientes de Java y ajustaremos nuestro soporte en consecuencia.
Vert.x como implementación por defecto de HttpClient
En esta versión, hemos cambiado a usar Vert.x como implementación por defecto de HttpClient, reemplazando a OkHttp. Para la mayoría de los usuarios, este cambio será transparente, sin diferencias notables en el comportamiento, aparte de posibles mejoras de rendimiento.
Además, hemos actualizado la versión de OkHttp a la 4.x (para su implementación de HttpClient), que es la última versión estable mayor en el momento de esta versión.
CRD Generator v2
El CRD Generator v2, introducido en modo de prueba en las últimas entregas de la versión 6, ahora se recomienda como la herramienta de generación de CRD por defecto. La versión anterior ha sido descontinuada.
El nuevo generador ofrece características mejoradas y se puede integrar fácilmente en tu proyecto utilizando un plugin de Maven.
Por favor, consulta la documentación para obtener más información sobre el CRD Generator v2 y cómo empezar a utilizarlo.
Quiere aprovechar esta oportunidad para agradecer una vez más a Bernhard Strähle por su continuo trabajo en esta característica y su implicación en el Fabric8 Kubernetes Client 🙌.
MockWebServer basado en Vert.x
La anterior implementación de MockWebServer utilizaba OkHttp como base. En esta versión, hemos cambiado a usar Vert.x para proporcionar una implementación más ligera, eficiente y con mayor rendimiento.
Esto debería servir como una sustitución directa de la implementación anterior, con reemplazos proporcionados para todas las clases de OkHttp y Okio utilizadas anteriormente. La mayoría de los usuarios solo necesitarán actualizar sus imports.
Puedes encontrar más información sobre este cambio en la guía de migración de MockWebServer.
Cómo utilizar esta versión
Si tu proyecto está basado en Maven, lo único que hay que hacer es añadir Fabric8 Kubernetes Client a las dependencias del proyecto:
<dependency>
<groupId>io.fabric8</groupId>
<artifactId>kubernetes-client</artifactId>
<version>7.0.0</version>
</dependency>
Si tu proyecto está basado en Gradle, lo único que tienes que hacer es añadir Fabric8 Kubernetes Client a las dependencias de Gradle:
dependencies {
api "io.fabric8:kubernetes-client:7.0.0"
}
Una vez hayas configurado tu proyecto, puedes crear una instancia del cliente para realizar distintas operaciones. En el siguiente fragmento de código muestro como instanciar el cliente y obtener una lista de Pods:
try (KubernetesClient client = new KubernetesClientBuilder().build()) {
client.pods().list().getItems().forEach(p -> System.out.println(p.getMetadata().getName()));
}
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 "good first issue" en el repositorio. Hemos etiquetado issues muy sencillas para que puedas iniciarte en el mundo Open Source.
También nos encanta leer artículos y publicaciones mencionando nuestro proyecto y compartiendo la experiencia. Dar una estrella al proyecto, y en general, ayudar a promocionar el proyecto, nos ayuda a llegar a más usuarios e incrementar el feedback. El feedback es la única forma de mejorar y siempre es bienvenido.
Project Page | Issues | Discussions | Gitter | Stack Overflow