The recent release of Eclipse JKube 1.0.0 means that the Fabric8 Maven Plugin is no longer supported. If you are currently using the Fabric8 Maven Plugin, this article provides instructions for migrating to JKube instead. I will also explain the relationship between Eclipse JKube and the Fabric8 Maven Plugin (they’re the same thing) and introduce the highlights of the new Eclipse JKube 1.0.0 release. These migration instructions are for developers working on the Kubernetes and Red Hat OpenShift platforms.
Eclipse JKube is the Fabric8 Maven Plugin
Eclipse JKube and the Fabric8 Maven Plugin are one and the same. Eclipse JKube was first released in 2014 under the name of Fabric8 Maven Plugin. The development team changed the name when we pre-released Eclipse JKube 0.1.0 in December 2019. For more about the name change, see my recent introduction to Eclipse JKube. This article focuses on the migration path to JKube 1.0.0.
Continue reading “Migrating from Fabric8 Maven Plugin to Eclipse JKube 1.0.0”
After nine months of incubation with the Eclipse Foundation, Eclipse JKube 1.0.0 is finally here. This release marks the final deprecation of the great Fabric8 Maven Plugin (FMP) project. JKube is a complete replacement of FMP and includes all of the major features. Projects relying on FMP to create Apache Maven Java containers should migrate to Eclipse JKube to take full advantage of the new features, bug fixes, and upstream project maintenance described in this article.
JKube is a collection of plugins plus a standalone Java library that fit into your Maven project. If you have a Java project that needs to get deployed into Kubernetes or Red Hat OpenShift, this is the right tool for you. JKube takes care of everything related to the cluster deployment while you, as a developer, get to concentrate on implementing your application without worrying about where it needs to be deployed.
Continue reading “Cloud-native Java applications made easy: Eclipse JKube 1.0.0 now available”
Before we had Spring Boot and similar frameworks, a web app container was the main requirement for deploying Java web applications. We now live in the age of microservices, and many Java applications are developed on top of Quarkus, Thorntail, or Spring Boot. But some use cases still require an old-school web application.
Continue reading Deploy your Java web application into the cloud using Eclipse JKube
The fabric8 Maven plug-in, often abbreviated FMP, can be added to a Maven Java project and takes care of the administrative tasks involved in deploying the application to a Red Hat OpenShift cluster. These tasks include:
- Creating an OpenShift build configuration (BC).
- Coordinating the source-to-image (S2I) process to create a container image from the application’s compiled bytecode.
- Creating and instantiating a deployment configuration (DC) from information in the project.
- Defining and instantiating OpenShift services and routes.
All of the relevant components of this process are well-documented individually. This article pulls together documentation sources to create an overview of how the plug-in works, and the structure of the image it generates—which might make the plug-in easier to use and troubleshoot.
Continue reading “How the fabric8 Maven plug-in deploys Java applications to OpenShift”
Fabric8 has been available as a Java client for Kubernetes since 2015, and today is one of the most popular client libraries for Kubernetes. (The most popular is client-go, which is the client library for the Go programming language on Kubernetes.) In recent years, fabric8 has evolved from a Java client for the Kubernetes REST API to a full-fledged alternative to the
kubectl command-line tool for Java-based development.
Continue reading “Getting started with the fabric8 Kubernetes Java client”
We as Java developers are often busy working on our applications by optimizing application memory, speed, etc. In recent years, encapsulating our applications into lightweight, independent units called containers has become quite a trend, and almost every enterprise is trying to shift its infrastructure onto container technologies like Docker and Kubernetes.
Kubernetes is an open source system for automating deployment, scaling, and management of containerized applications, but it has a steep learning curve, and an application developer with no background in DevOps can find this system a bit overwhelming. In this article, I will talk about tools that can help when deploying your Maven applications to Kubernetes/Red Hat OpenShift.
Continue reading “Introduction to Eclipse JKube: Java tooling for Kubernetes and Red Hat OpenShift”
The tutorial Spring Boot and OAuth2 showed how to enable OAuth2 with Spring Boot with Facebook as AuthProvider; this blog is the extension of showing how to use KeyCloak as AuthProvider instead of Facebook. I intend to keep this example as close to the original Spring Boot and OAuth2 and will explain the changes to the configuration to make the same application work with KeyCloak. The source code for the examples are available in the github repositories listed below.
Continue reading Spring Boot and OAuth2 with Keycloak
Enabling SSL/TLS in a Fabric is slightly more complex than securing a jetty in a standalone Karaf container. In the following article, we are providing feedback on the overall process. For clarity and simplification, the article will be divided into two parts.
Part1: The Management Console
Part2: Securing Web Service:including gateway-http
For the purpose of this PoC, the following environment will be used.
Continue reading “Securing Fuse 6.3 Fabric Cluster Management Console with SSL/TLS”
The last 4-5 years have seen the debut of many new software products specifically targeting both infrastructure services and IT automation. The consumerization of IT has caused its architects to take a fresh look at their existing, often times monolithic apps and IT infrastructure and asking: Can we do better? How do I keep IT relevant? How do I keep track of all these VMs and data? How do I scale out my IT environment without a huge budget increase or physical buildout? How do I develop and get bits to production faster and with higher quality?
These organizations are looking to evolve their development and deployment processes to be more agile and accelerate time-to-market. They are trying to embrace things like DevOps and Continuous Deployment to do that. They are breaking monolithic apps out into microservices that can be independently updated, with a focus on speed and agility, so their apps can be more reactive to changes in their business. They are evolving from traditional virtualization to public and private cloud deployments.
There are strong parallels between the way open source communities produce great software and how IT orgs build and deliver great software and services. Red Hat, a recognized pioneer in open source, is using its deep experience in open source to build products that support microservice-oriented, DevOps-embracing, container and cloud-centric IT shops.
Continue reading “Using Jenkins in the Red Hat CI/CD Ecosystem”