Fabric8 Kubernetes Client 7.5.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.5.0 de Fabric8 Kubernetes Client y que está disponible para su descarga desde
Maven Central 🎉.
Esta es la quinta versión menor de Fabric8 Kubernetes Client 7, que trae nuevas características, bug fixes y mejoras, minimizando los cambios que puedan romper la compatibilidad.
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:
- Soporte para Kubernetes 1.34 con modelo actualizado de OpenShift 4.20
- Soporte para listas en streaming mediante el nuevo método Watchable.streamingList
- Mejoras en el generador de CRD con la anotación SchemaCustomizer
- Correcciones de estabilidad en leader election y WebSocket
- 🐛 Muchas otras mejoras y bug-fixes
Puedes encontrar la lista completa de cambios para esta versión en la release page en GitHub.
Soporte para Kubernetes 1.34 con modelo actualizado de OpenShift 4.20
Esta versión añade soporte para Kubernetes v1.34 (Of Wind & Will) y actualiza el modelo de Fabric8 OpenShift según OpenShift 4.20. El Gateway API también se ha actualizado de 1.2.1 a 1.4.0, e Istio de 1.27 a 1.28, asegurando que tengas acceso a los últimos CRDs y recursos.
Ten en cuenta que ValidatingAdmissionPolicy y clases relacionadas se han eliminado de admissionregistration.v1beta1 ya que han pasado a GA.
El módulo openshift-model-installer ahora está deprecado y se eliminará en una futura versión.
Nota
Ten en cuenta que puedes seguir accediendo a clústers de Kubernetes más nuevos con versiones anteriores del cliente de Fabric8.
El cliente proporciona una clase GenericKubernetesResources para interactuar con recursos que aún no son compatibles con el cliente. Siempre recomendamos usar la última versión del cliente para beneficiarte de las últimas características y correcciones de errores, pero no es obligatorio.
Soporte para listas en streaming mediante el nuevo método Watchable.streamingList
Se ha añadido una funcionalidad muy solicitada: listas en streaming mediante el nuevo método Watchable.streamingList().
Esto te permite procesar listas grandes de recursos de forma incremental sin cargar toda la lista en memoria, lo cual es particularmente útil cuando trabajas con namespaces que contienen miles de recursos.
Mejoras en el generador de CRD con la anotación SchemaCustomizer
El generador de CRD continúa evolucionando con la adición de la anotación @SchemaCustomizer para modificación avanzada del esquema.
Esta nueva anotación soporta @Repeatable, permitiéndote aplicar múltiples personalizaciones, y proporciona mejores mensajes de excepción cuando algo sale mal.
Correcciones de estabilidad en leader election y WebSocket
Se han implementado varias correcciones importantes de estabilidad:
- Los callbacks de leader election ahora se llaman solo una vez en lugar de dos, corrigiendo problemas de ejecución duplicada
- Ahora se usa la duración del registro del líder actual en lugar de la duración de configuración, asegurando el comportamiento correcto de leader election
- Los WebSockets de Vert.x ahora manejan correctamente múltiples frames
- La configuración de request se preserva al adaptar a OpenShiftClient
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.5.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.5.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

