Fabric8 Kubernetes Client 6.11 is now available!
On behalf of the Fabric8
team and everyone who has contributed, I'm happy to announce that the Fabric8 Kubernetes Client 6.11.0
has been
released and is now available from
Maven Central 🎉.
Thanks to all of you who have contributed with issue reports, pull requests, feedback, and spreading the word with blogs, videos, comments, and so on. We really appreciate your help, keep it up!
What's new?
Without further ado, let's have a look at the most significant updates:
- Kube API Test module
- Kubernetes Log4j Lookup module
- New
open-virtual-networking
extension (k8s.ovn.org/v1) - 🐛 Many other bug fixes and minor improvements
You can find the full changelog for this version in our GitHub release page.
Kube API Test module
The new kube-api-test
module provides a simple way to implement integration tests with a full Kubernetes API server in Java.
Inspired by controller-runtime EnvTest, Kube API Test runs the Kubernetes API server binaries directly. In addition, it provides a preconfigured Kubernetes client to interact with the API server.
You can start using it by adding the following dependency to your project:
<dependency>
<groupId>io.fabric8</groupId>
<artifactId>kube-api-test-client-inject</artifactId>
<version>6.11.0</version>
<scope>test</scope>
</dependency>
Then, you just need to annotate your test class with @EnableKubeAPIServer
and be ready to write your tests:
@EnableKubeAPIServer
class MyTest {
static KubernetesClient client;
@Test
void testKubeAPI() {
// Use the client to interact with the API server
}
}
Big shout out to Attila Mészáros who kindly contributed this feature!
You can learn more about this new feature by checking the Kube API Test documentation.
Kubernetes Log4j Lookup module
The Kubernetes Log4j Lookup offers a dynamic Log4j Core Lookup feature, enabling seamless access to log file data tailored to the Kubernetes container environment where your application operates.
You can use the following Maven coordinates to add this feature to your project:
<dependency>
<groupId>io.fabric8</groupId>
<artifactId>kubernetes-log4j</artifactId>
<version>6.11.0</version>
<scope>runtime</scope>
</dependency>
Big shout out to Piotr P. Karwasz who has kindly contributed this feature!
You can learn more about this new feature by checking the Kubernetes Log4j Lookup documentation.
Using this release
If your project is based on Maven, you just need to add the Fabric8 Kubernetes Client to your Maven dependencies:
<dependency>
<groupId>io.fabric8</groupId>
<artifactId>kubernetes-client</artifactId>
<version>6.11.0</version>
</dependency>
If your project is based on Gradle, you just need to add the Fabric8 Kubernetes Client to your Gradle dependencies:
dependencies {
api "io.fabric8:kubernetes-client:6.11.0"
}
Once your project is ready, you can create a new instance of the client to perform operations. In the following code snippet, I show you how to instantiate the client and retrieve a list of Pods:
try (KubernetesClient client = new KubernetesClientBuilder().build()) {
client.pods().list().getItems().forEach(p -> System.out.println(p.getMetadata().getName()));
}
How can you help?
If you're interested in helping out and are a first-time contributor, check out the "good first issue" tag in the issue repository. We've tagged extremely easy issues so that you can get started contributing to Open Source.
We're also excited to read articles and posts mentioning our project and sharing the user experience. Giving a star to the project, and spreading the word in general, helps us reach more users and broaden the feedback. Feedback is the only way to improve.
Project Page | Issues | Discussions | Gitter | Stack Overflow