Chapter 10. Integrating with Kubernetes

So far, you’ve been learning how to develop and run Quarkus applications on bare-metal, but where Quarkus really shines is when it is running in a Kubernetes cluster.

In this chapter, you’ll learn about the integration between Quarkus and Kubernetes, and how several extensions can help develop and deploy a Quarkus service for Kubernetes.

Kubernetes is becoming the de facto platform to deploy applications; for this reason it is important to have a good understanding of Kubernetes and how to correctly develop and deploy applications on it.

In this chapter, you’ll learn how to accomplish the following tasks:

  • Build and push container images

  • Generate Kubernetes resources

  • Deploy a Quarkus service

  • Develop a Kubernetes operator

  • Deploy a service in Knative

10.1 Building and Pushing Container Images

Problem

You want to build and push container images.

Solution

The working unit in Kubernetes is a pod. A pod represents a group of containers that are running in the same host machine and share resources like IP and ports. To deploy a service to Kubernetes, you need to create a pod. Since a pod is composed by one or more containers, you need to build a container image of your service.

Quarkus provides extensions for building and optionally pushing container images. At the time of writing, the following container build strategies are supported:

Jib

Jib builds Docker and OCI container images for your Java applications without a Docker daemon ...

Get Quarkus Cookbook now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.