In many organizations, it is a struggle for developers to get custom Jenkins container images created. Fortunately, in engineering, there is often more than one way to get the job done. In this article, I show you how to create your own custom Jenkins container image by aggregating readily available containers in a pod template.
Continue reading An easier way to create custom Jenkins containers
It is just a few short weeks since we released Open Data Hub (ODH) 0.6.0, bringing many changes to the underlying architecture and some new features. We found a few issues in this new version with the Kubeflow Operator and a few regressions that came in with the new JupyterHub updates. To make sure your experience with ODH 0.6 does not suffer because we wanted to release early, we offer a new (mostly) bugfix release: Open Data Hub 0.6.1.
Continue reading Open Data Hub 0.6.1: Bug fix release to smooth out redesign regressions
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”
Java was introduced 25 years ago, and to this day, remains one of the most popular programming languages among developers. However, Java has developed a reputation for not being a good fit for cloud-native applications. Developers look for (and often choose) alternative frameworks such as Go and Node.js to support their cloud-native development requirements.
Why learn another language when you can use your existing skills? Quarkus allows Java developers to leverage their expertise to develop cloud-native, event-driven, reactive, and serverless applications. Quarkus provides a cohesive Java platform that feels familiar but new at the same time. Not only does it leverage existing Java standards, but it also provides a number of features that optimize developer joy, including live coding, unified configuration, IDE plugins, and more.
Recently, Red Hat announced support for Quarkus. With Quarkus, Red Hat advances Java on Kubernetes and bridges the gap between traditional Java applications and cloud-native environments.
Continue reading “Quarkus, a Kubernetes-native Java runtime, now fully supported by Red Hat”
Go is an increasingly popular programming language, and frequently chosen for developing command-line utilities. Many tools used with Kubernetes and Red Hat OpenShift are written in Go, including the command-line interfaces (CLIs) for Tekton (
tkn), OpenShift (
oc), and Kubernetes (
kubectl). Also, developers can compile Go to a single executable for a broad range of operating systems. As a result, it’s easy to develop and desk-test applications before putting them into containers and running those containers in OpenShift.
In a meta sort of way, this is an article about a tutorial, where I show you how to build and deliver a small Go RESTful service using OpenShift Pipelines. You could just jump to the tutorial now, but I suggest reading this article first. I’ll quickly introduce the working environment for the tutorial, and I’ll explain my logic for setting up the tutorial the way that I did.
Continue reading “Build a Go application using OpenShift Pipelines”
Red Hat Runtimes provides a set of comprehensive frameworks, runtimes, and programming languages for developers, architects, and IT leaders with cloud-native application development needs. The latest update to Red Hat Runtimes has arrived with Red Hat’s build of Eclipse Vert.x version 3.9. Red Hat Runtimes provides application developers with a variety of application runtimes and lets them run on the Red Hat OpenShift Container Platform.
A fluent API is a common pattern throughout Vert.x, it lets multiple methods calls be chained together. For example:
request.response().putHeader("Content-Type", "text/plain").write("some text").end();
Chaining calls like this also allows you to write code that’s a bit less verbose.
With 3.9, you can now create prepared statements and collector queries with the inclusion of
Query in the Fluent API. If you are familiar with JDBC,
PreparedStatement lets you create and execute statements. Moreover, you can run multiple interactions, such as cursor or stream operations.
Continue reading “Red Hat build of Eclipse Vert.x 3.9 brings Fluent API Query”
On April 21st, Node.js released its latest major version with Node.js 14. Because this is an even-numbered release, it will become a Long Term Support (LTS) release in October 2020. This release brings a host of improvements and features, such as improved diagnostics, a V8 upgrade, an experimental Async Local Storage API, hardened the streams APIs, and more.
While Red Hat will release a Universal Base Image (UBI) for Node.js 14 in the coming months for Red Hat OpenShift and Red Hat Enterprise Linux, this article helps you get started today. If you’re interested in more about Node.js 14’s improvements and new features, check out the article listed at the end.
Continue reading “Use Node.js 14 on Red Hat 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”
Deploying enterprise-grade runtime components into Kubernetes can be daunting. You might wonder:
- How do I fetch a certificate for my app?
- What’s the syntax for autoscaling resources with the Horizontal Pod Autoscaler?
- How do I link my container with a database and with a Kafka cluster?
- Are my metrics going to Prometheus?
- Also, how do I scale to zero with Knative?
Operators can help with all of those needs and more. In this article, I introduce three Operators—Runtime Component Operator, Service Binding Operator, and Open Liberty Operator—that work together to help you deploy containers like a pro.
Continue reading “Deploy and bind enterprise-grade microservices with Kubernetes Operators”
Want to smoothly modernize your legacy and monolithic applications to microservices or cloud-native without writing any code? Through this demonstration, we show you how to achieve the following change data capture scenario between two microservices on Red Hat OpenShift using the combination of Syndesis, Strimzi, and Debezium.
Continue reading “Change data capture for microservices without writing any code”