Building Docker Images

Jaspersoft® IO At-Scale runs its services in separate Docker containers that work together in a Kubernetes cluster. Before deployment, you need to configure the various modules, for example to install your license and define the location of your repository, and then build the final Docker images.

This chapter includes the following sections:

Jaspersoft IO At-Scale Modules
Configuring the Modules
Using a Local Repository
Building Docker Images

Jaspersoft IO At-Scale Modules

Jaspersoft IO At-Scale contains several modules, also called pods, described in the following table. Each of these modules becomes a separate Docker image:

Module

Description

jrio-client This module contains a sample HTML application with documentation. The jrio-client module is also used for sample viz.js implementation that is used in an embedded report viewer.
jrio-manager This is the main manager or orchestrator module that also contains the license file. There is always exactly one instance of this module in the cluster.
jrio-reporting This is the main reporting application that generates reports from JRXML, but the reports are generated as serialized Java objects to be stored in the Redis cache module.
jrio-rest This module is responsible for inbound and outbound communication from the cluster, such that all tasks are input and output through this module. Its k8s service should be exposed.
redis This module is responsible for caching and queuing all report creation tasks in a Redis queue. The jrio-reporting and jrio-rest pods monitor the Redis queue for new tasks requests or task results. The jrio-manager module also checks report execution status which is stored in the Redis queue.
jrio-export The module that will generate the requested output format from the Java objects stored in the cache of the redis module. jrio-export stores all generated outputs back into the Redis cache.