Chapter 2. Installing Fuse Online on OCP 3.11
Installation of Fuse Online on OCP 3.11 requires a cluster administrator to register the Fuse Online custom resource definition and grant installation permission to the appropriate user(s). The user who installs Fuse Online must determine whether to install a default Fuse Online environment or a customized Fuse Online environment. For a customized Fuse Online environment, editing of the default custom resource file is required.
Each installation of Fuse Online is referred to as a Fuse Online environment. In a given OpenShift project, there can be exactly one Fuse Online environment. Each Fuse Online environment has its own URL. In a single OpenShift cluster, there can be multiple Fuse Online environments.
The Fuse Online installation process requires access to registry.redhat.io, which is the Red Hat Ecosystem Catalog for container images. Fuse Online does not support or test the use of external container registries, custom registries, or registries in disconnected environments.
The following topics provide details for installing Fuse Online:
- Section 2.1, “Overview of the steps required to install Fuse Online on OCP 3.11”
- Section 2.2, “Registering a custom resource definition for deploying Fuse Online resources”
- Section 2.3, “When editing the default custom resource is required before installing Fuse Online”
- Section 2.4, “Descriptions of custom resource attributes that configure Fuse Online”
- Section 2.5, “Editing the default custom resource file before installing Fuse Online”
- Section 2.6, “About configuring Fuse Online for Jaeger monitoring”
- Section 2.7, “Installing Fuse Online with an external database”
- Section 2.8, “Running the script that installs Fuse Online on OCP 3.11”
2.1. Overview of the steps required to install Fuse Online on OCP 3.11
To install Fuse Online on OCP on-site, a cluster administrator must perform some tasks and then a user who has permission to install Fuse Online in a particular OpenShift project performs some tasks and runs the installation script. The following diagram shows the workflow:

Outline for installing Fuse Online on OCP 3.11 workflow image
To install Fuse Online on OCP, the main steps are:
A user with cluster administration permissions:
- Downloads the installation script and related files.
-
Registers a custom resource definition (CRD) at the cluster level, by using OpenShift
oc
client tool commands. -
Grants permission for one or more users to install Fuse Online in their projects, by using OpenShift
oc
client tool commands.
For each OpenShift project in which you want to install Fuse Online, a user who is granted permission to install Fuse Online:
- Decides whether to install a default Fuse Online environment or a customized Fuse Online environment. A customized Fuse Online environment enables one or more add-on features and/or implements one or more custom configuration settings.
- Downloads the installation script and related files.
- Optional. Edits the default-cr.yml file (provided in the Fuse Online download package) if a customized Fuse Online environment is wanted.
- Optional. Creates an OpenShift secret if an external database for persisting connection and integration definitions is wanted.
- Invokes the installation script.
- Confirms that Fuse Online is running.
For each OpenShift project in which Fuse Online is to be installed, the cluster administrator must grant permission to a user to install Fuse Online in that particular project.
To install a default Fuse Online environment, the user with permission to install Fuse Online downloads and runs the installation script. No other steps are required.
Additional resource
2.2. Registering a custom resource definition for deploying Fuse Online resources
To enable installation of Fuse Online, a cluster administrator registers a custom resource definition. The administrator needs to do this only once for the OpenShift cluster. Then, for each project in which the administrator wants Fuse Online to be installed, the administrator grants an appropriate user permission to install Fuse Online in that project.
Prerequisites
- You must have cluster administration permissions.
-
You installed the
oc
client tool and it is connected to the OCP cluster into which Fuse Online will be installed. On your OCP environment, at least three persistent volumes are available for use by Fuse Online. All of the persistent volumes must have the following configuration requirements:
-
capacity.storage:
1Gi
-
accessMode:
ReadWriteOnce
-
capacity.storage:
Procedure
Download the package that contains the Fuse Online installation script from the following location:
https://github.com/syndesisio/fuse-online-install/releases/tag/1.13
-
Unpack the downloaded archive at a convenient location on your file system. The
fuse-online-install-1.13
directory contains the script and supporting files for installing Fuse Online. Log in to OpenShift with an account that has cluster admin permissions. For example:
oc login -u admin -p adminpwd
Confirm that you are properly connected by running the following command, which lists any custom resource definitions that are already registered in this cluster.
oc get crd
You are properly connected if there is no error message.
Register the custom resource definition at the cluster level by switching to the
fuse-online-install-1.13
directory and invoking the following command:bash install_ocp.sh --setup
Confirm that registration was successful by running the following command again:
oc get crd
The output list of registered custom resource definitions should include
syndesis
.In each project in which you want Fuse Online to be installed, grant installation permission to a user. For each project:
Change to the project in which you want a user to be able to install Fuse Online. For example:
oc project fuse-online-project
Grant a user permission to install Fuse Online in that project. For example, the following command grants permission to install Fuse Online to
developer
user. After running this command, thedeveloper
user can install Fuse Online in the current project, which isfuse-online-project
in this example:bash install_ocp.sh --grant developer
Repeat these two commands for each OpenShift project in which you want to grant permission for Fuse Online installation. A single user can install Fuse Online in more than one project in the cluster. To enable this, change to another project and specify the same user, for example:
oc project another-fuse-online-project
bash install_ocp.sh --grant developer
Result
The syndesis
custom resource definition is registered in the cluster.
Next steps
Users with permission to install Fuse Online must decide whether to install a default Fuse Online environment or a customized Fuse Online environment.
2.3. When editing the default custom resource is required before installing Fuse Online
The Fuse Online installation includes a default custom resource, which specifies the default settings for configurable Fuse Online environment add-on features and parameter settings.
You need to edit the default custom resource before you install Fuse Online if you want the installed Fuse Online environment to:
- Use a URL that you specify for the OpenShift route by which the Fuse Online console can be reached. The default is that the installation process calculates this route.
- Use an external database to store connection and integration definitions. The default is that the environment uses an internal database.
-
Increase the amount of internal storage that is available for persisting connection and integration definitions. The default, which is
1Gi
, is sufficient for most Fuse Online environments.
To configure a Fuse Online environment for any one of these behaviors, you MUST edit the custom resource when you install Fuse Online. In other words, you cannot change the configuration of an installed Fuse Online environment to implement any of these behaviors. Also, after you install a Fuse Online environment that is configured for any of these behaviors, you cannot change that behavior in the installed environment.
2.4. Descriptions of custom resource attributes that configure Fuse Online
In addition to the custom resource attributes that you can specify only before installation, there are a number of custom resource attributes that you can change before or after installation.
Table 1 provides a brief description of configurable custom resource settings and indicates when you can change them: before and/or after installation. To achieve the Fuse Online configuration that you want, use the information in this table to determine how you need to change the custom resource before installation or how you want to change it after installation. Then follow the appropriate procedure:
For OCP 4.x:
For OCP 3.11:
Feature/Setting | When you can set this | Specification |
---|---|---|
Enhanced activity tracking | Set only before installation |
Enhanced activity tracking is enabled, by default. If you want to customize the Jaeger configuration, you can set |
External database | Set only before installation |
|
Internal storage capacity for connections and integrations. | Set only before installation |
|
OpenShift route for accessing Fuse Online console | Set only before installation |
|
Memory and CPU Each component defines its own memory requirement, which means that each pod has a limit on the amount of memory it is assigned. For information about limit and request settings, see the section on Configuring cluster memory to meet container memory and risk requirements in the OpenShift documentation.
You can also specify CPU resources for the
The
The
The | Set only before installation |
|
3scale discovery | Set before or after installation |
|
Backups | Set before or after installation |
|
Node affinity and tolerations Determines the placement of Fuse Online infrastructure component and integration pods onto nodes within the cluster. Node affinity allows you to specify an affinity for Fuse Online pods towards a group of nodes to be placed on. Tolerations allows you to control which nodes the Fuse Online pods run on and to prevent other workloads from using those nodes. See also: Configuring Fuse Online pods. | Set before or after installation |
Note: Use
|
Integration limit | Set before or after installation |
|
Database connection pool You can adjust the server connection pool configuration to manage the connections to the database. Additional information about the database pool configuration follows this table. | Set before or after installation |
|
Java Options
You can specify Java options for the
Depending on the Java option, you can specify different values for the components. For example, you can set a JVM-related parameter for | Set before or after installation |
Replace
Replace
For example, to configure the HTTP proxy: components:+ server: |
Maven Arguments | Set before or after installation |
|
Maven Mirror | Set before or after installation |
|
Maven Repositories | Set before or after installation |
|
Monitoring | Set before or after installation |
|
Public REST API | Set before or after installation |
|
ToDo addon | Set before or after installation |
See also Adding sample data to a Fuse Online environment running on OCP. |
Auditing For viewing basic changes made to connectors, connections, and integrations. See also Auditing Fuse Fuse Online components. Note: This is a Technology Preview feature. | Set before or after installation |
|
About add-on features and configuration settings
Enhanced activity tracking
Activity tracking, using Jaeger, is enabled by default when you install Fuse Online. The Fuse Online installation (from the OperatorHub or the command-line script) detects the existence of the OperatorHub and installs Jaeger by using the OperatorHub’s subscription functionality. For the limited circumstances in which the OperatorHub is not available, Fuse Online uses its own installation functions to install Jaeger. Optionally, you can customize the Jaeger configuration before you install Fuse Online as described in the About configuring Fuse Online for Jaeger monitoring section.
External database for persisting connections and integrations
A default installation of Fuse Online provides an internal PostgreSQL database that Fuse Online uses to persist connection and integration definitions. You can choose to use an external PostgreSQL database instead, such as one of the PostgreSQL templates that OpenShift provides by default.
Internal storage capacity
The default setting of
1Gi
is sufficient for most Fuse Online environments. It is expected that you would increase this setting for a new Fuse Online installation only upon the recommendation of Red Hat technical support. That is, you have been running another Fuse Online environment in which you encountered Fuse Online server errors and Red Hat technical support determined that you need to install a new Fuse Online environment with a database volume capacity that is larger than the default.To increase Fuse Online internal storage capacity in an OpenShift project that is already running Fuse Online, you must first uninstall Fuse Online. See Uninstalling Fuse Online from an OCP project.
Database connection pool configuration
You can configure the following
syndesis-server
database connection pool properties:-
connectionTimeout
- The maximum number of milliseconds that thesyndesis-server
waits for a connection from the pool. The lowest acceptable connection timeout is 250 ms. The default is 30000 (30 seconds). -
idleTimeout
- The maximum amount of time (in milliseconds) that a connection is allowed to sit idle in the pool before the connection is removed. A value of 0 means that idle connections are never removed from the pool. The minimum allowed value is 10000 (10 seconds). The default is 600000 (10 minutes), -
leakDetectionThreshold
- The amount of time (in milliseconds) that a connection can be out of the pool before a message is logged indicating a possible connection leak. A value of 0 means leak detection is disabled. The lowest acceptable value for enabling leak detection is 2000 (2 seconds). The default is 0. -
maxLifetime
- The maximum lifetime (in milliseconds) of a connection in the pool. The minimum allowed value is 30000 (30 seconds). The default is 1800000 (30 minutes). -
maximumPoolSize
- The maximum size that the pool is allowed to reach, including both idle and in-use connections. The default is 10. -
minimumIdle
- The minimum number of idle connections maintained in the pool. The default is the value ofmaximumPoolSize
.
-
2.5. Editing the default custom resource file before installing Fuse Online
To install a default Fuse Online environment, you do not need to edit the default custom resource file. See Installing Fuse Online on OCP 4.x or Installing Fuse Online on OCP 3.11.
To install a customized Fuse Online environment, you must edit the default-cr.yml
file before you install Fuse Online. This file is in the Fuse Online download package. There are some custom resource settings that you can specify only before Fuse Online installation. See When editing the default custom resource is required before installation.
There are other custom resource settings that you can specify before or after Fuse Online installation. See Descriptions of custom resource attributes that configure Fuse Online.
The Fuse Online installation process uses the settings that you specify in the default-cr.yml
file to create the syndesis
custom resource. The syndesis
custom resource settings determine the configuration of the installed Fuse Online environment.
Prerequisites
- You plan to install and run Fuse Online on OCP on-site.
-
The
oc
client tool is installed and it is connected to the OCP cluster in which you plan to install Fuse Online - A user with cluster administration permissions gave you permission to install Fuse Online in any project that you have permission to access in the cluster.
Procedure
If you did not already download the package that contains the Fuse Online installation scripts:
Download it now from the following location:
https://github.com/syndesisio/fuse-online-install/releases/tag/1.13
-
Unpack the downloaded archive at a convenient location on your file system. The
fuse-online-install-1.13
directory contains the scripts and supporting files for installing Fuse Online.
Log in to OpenShift with an account that has permission to install Fuse Online. For example:
oc login -u developer -p developer
-
Open the
fuse-online-install-1.13/default-cr.yml
file in an editor. -
Edit the
default-cr.yml
file so that it enables the features and sets the parameters that you want. To determine what you need to specify, see Descriptions of custom resource attributes that configure Fuse Online. -
Save the
default-cr.yml
file.
Result
The default-cr.yml
file contains the configuration specifications for a new Fuse Online installation.
Next steps
If you edited the default-cr.yml
file to specify an external database then follow the instructions in Installing Fuse Online with an external database before you install Fuse Online. Otherwise, you are ready to follow the instructions in Installing Fuse Online on OCP 3.11.
2.6. About configuring Fuse Online for Jaeger monitoring
Jaeger is open source software for tracing transactions between distributed services. It is especially useful for monitoring and troubleshooting complex microservices environments.
When you install Fuse Online, either from the OperatorHub or by using the command-line script, the Fuse Online installation detects the existence of the OperatorHub and installs Jaeger by using the OperatorHub’s subscription functionality. For the limited circumstances in which the OperatorHub is not available, Fuse Online uses its own installation functions to install Jaeger.
A default Fuse Online environment configures all needed Jaeger components. Optionally, you can edit the Fuse Online custom resource to specify a client-only/independent server configuration or a hybrid Jaeger client and Jaeger Operator configuration.
Default Jaeger configuration
The basic, out-of-the-box, configuration includes all Jaeger components. You can start learning about how Jaeger works by experimenting with its monitoring capabilities. The default configuration provides a memory-only, limited, backend storage capability.
Installing Fuse Online with the default Jaeger configuration has the following results:
- Fuse Online components have Jaeger communication URLs.
- Jaeger Operator is installed.
- Jaeger custom resource is configured with a default configuration for activity monitoring.
A Fuse Online installation with the default Jaeger configuration, has the following syndesis
custom resource specification:
apiVersion: syndesis.io/v1beta2 kind: Syndesis metadata: name: app spec: addons: jaeger: enabled: true
When the clientOnly
and operatorOnly
are unspecified (set to false
, by default) Fuse Online uses the provided Jaeger backend as well as the default, memory-only storage provided by the Jaeger server configuration.
Client-only/independent server configuration
With a client-only/independent server configuration, only client URL connections are configured for communication between Fuse Online and an externally configured Jaeger backend. All aspects of the Jaeger backend are external and independent of the Fuse Online environment and syndesis-operator
. This includes the Jaeger Operator and the Jaeger custom resource.
To install a client-only Jaeger configuration, edit the custom resource before you install Fuse Online as follows:
-
Set
clientOnly
totrue
to add Jaeger agent capabilities. -
Set
queryUri
to the URI of the query component of the independently installed Jaeger backend. -
Set
collectorUri
to the URI of the collector component of the independently installed Jaeger backend.
For example:
apiVersion: syndesis.io/v1beta2 kind: Syndesis metadata: name: app spec: addons: jaeger: enabled: true clientOnly: true queryUri: https://jaeger-query-hostname:443/api collectorUri: https://jaeger-collector-hostname:14268/api/traces
Hybrid Jaeger client and operator configuration
With a hybrid Jaeger client and Jaeger Operator configuration, Fuse Online installs the Jaeger Operator as well as the Jaeger client capabilities. A Jaeger custom resource is not installed. You must install your own Jaeger custom resource, which defines your Jaeger server configuration. This lets you take advantage of the Fuse Online-provided capability and also tailor Jaeger configuration for your own environment, for example, you can use Elasticsearch or Cassandra for data storage.
To install a hybrid Jaeger client and Jaeger Operator configuration:
Edit the custom resource before you install Fuse Online as shown in the following example:
apiVersion: syndesis.io/v1beta2 kind: Syndesis metadata: name: app spec: addons: jaeger: enabled: true operatorOnly: true
Name the Jaeger custom resource
syndesis-jaeger
as shown in the following example:apiVersion: jaegertracing.io/v1 kind: Jaeger metadata: name: syndesis-jaeger ... spec: ....
Note: Alternately, if you want to use a different name for the Jaeger custom resource, set the
queryUri
andcollectorUri
in the Syndesis custom resource as described in the Client-only/independent server configuration section.
When the Jaeger custom resource with syndesis-jaeger
name is created, the Jaeger instance collects data from the Fuse Online integrations. By default, you can view this data in the Fuse Online activity log.
2.7. Installing Fuse Online with an external database
If you want to install a Fuse Online environment that uses an external database to persist connection and integration definitions:
- Create a postgreSQL database with a hostname that the OpenShift cluster can locate.
-
Before you install Fuse Online, create an OpenShift secret named
syndesis-global-config
for the external database. - Install Fuse Online.
- Before you deploy Fuse Online, edit the custom resource to configure the connection to the external database.
Prerequisites
-
For OCP 3.11 only, you edited the
default-cr.yml
file to specify the use of an external database to persist connection and integration definitions. - Fuse Online is not yet installed.
-
The
oc
client tool is installed and it is connected to the OCP cluster in which you plan to install Fuse Online. - A user with cluster administration permissions gave you permission to install Fuse Online in any project that you have permission to access in the cluster.
Procedure
Log in to OpenShift with an account that has permission to install Fuse Online. For example:
oc login -u developer -p developer
Create a postgreSQL database that is available to the OpenShift cluster on which you install Fuse Online and that defines values for the following configuration options:
- Connection username
- Database name
Database password
The following example uses one of the PostgreSQL templates that OpenShift provides by default.
Note: Only use the PostgreSQL ephemeral (
postgresql-ephemeral
) template for development or testing purposes. For a production environment, use the PostgreSQL (postgresql
) template.oc new-app postgresql-ephemeral -p POSTGRESQL_USER=syndesis -p POSTGRESQL_PASSWORD=exdb-pwd -p POSTGRESQL_DATABASE=syndesisdb
This command returns information about the database that you need when you configure Fuse Online, such as the URL.
For information about creating a database see the PostgreSQL topic in the OpenShift documentation.
Create and save a resource file (for example,
my-fuse-online-secret-cr.yml
) that contains the following content:apiVersion: v1 kind: Secret metadata: name: syndesis-global-config namespace: my-fuse-online-project type: Opaque stringData: POSTGRESQL_PASSWORD: exdb-pw
Replace
my-fuse-online-project
with the name of the OpenShift project in which you plan to install the Fuse Online environment for which you are specifying an external database.Replace
exdb-pw
with the password from Step 2. Fuse Online will use it as the password for accessing the external database. Note thatstringData
converts the password value to a base64-encoded value (so that you do not have to do the conversion).For information about OpenShift secrets, see Secrets.
Add the secret to the cluster, for example:
oc apply -f my-fuse-online-secret-cr.yml
On the OpenShift cluster, the
syndesis-global-config
secret is available to a Fuse Online environment that is installed with a custom resource that specifies an external database.Install Fuse Online in the
my-fuse-online-project
project that you specified in theYAML
file for the secret (in Step 4).- For OCP 3.11, follow the instructions in Editing the default custom resource file before installing Fuse Online.
For OCP 4.6 and later, follow the instructions in Installing the Fuse Online Operator from the OperatorHub. In Adding a Fuse Online instance to an OpenShift 4.x project, before you deploy Fuse Online, edit the custom resource to specify the use of an external database, for example:
apiVersion: syndesis.io/v1alpha1 kind: Syndesis metadata: name: app spec: components: database: externalDbURL: "postgresql://syndesis-external-db:5432" user: db-user-name name: db-name
-
Replace
syndesis-external-db:5432
with the host name and port for the external PostgreSQL database. -
Replace
db-user-name
with the Connection username. -
Replace
db-name
with the name of the database.
Result
The Fuse Online installation process uses the settings in the custom resource to determine the configuration of the installed Fuse Online environment.
When correctly installed and deployed, Fuse Online brings up all of the required pods except for syndesis-db
. Instead of syndesis-db
, the syndesis-server
connects to the database with the service name of the external database. If the external database configuration is incorrect then the syndesis-server
fails to initialize and the Fuse Online deployment ends with an error.
2.8. Running the script that installs Fuse Online on OCP 3.11
The Fuse Online installation script installs a Fuse Online environment according to the specifications in the default-cr.yml
file, which is in the Fuse Online download package. To install a default environment, no editing of that file is required. To install a customized environment, you must edit the default-cr.yml
file before you run the installation script.
Prerequisites
- OCP is running on-site.
-
The
oc
client tool is installed and connected to the OCP cluster in which you want to install Fuse Online. - A user with cluster administration permissions gave you permission to install Fuse Online in the project in which you plan to install Fuse Online.
-
If you determined that you needed to edit the
default-cr.yml
file before installation, you completed those edits. (When editing the default custom resource file is required before installing Fuse Online) -
If the edited
default-cr.ym
file specifies an external database for persisting connection and integration definitions, you created an Openshift secret for accessing the external database. (Installing Fuse Online with an external database) -
You have a Red Hat developer account for which you know your user name and password. The installation script prompts you for these credentials so it can authenticate you against
https://developers.redhat.com
. For details about creating an account, see Accessing and Configuring the Red Hat Registry.
Procedure
If you did not already download the package that contains the Fuse Online installation scripts:
Download it from the following location:
https://github.com/syndesisio/fuse-online-install/releases/tag/1.13
-
Unpack the downloaded archive at a convenient location on your file system. The
fuse-online-install-1.13
directory contains the scripts and supporting files for installing Fuse Online.
Log in to OpenShift with an account that has permission to install Fuse Online. For example:
oc login -u developer -p developer
Switch to the OpenShift project into which you want to install Fuse Online, for example:
oc project my-fuse-online-project
Alternatively, when you run the installation script, you can specify, for example,
--project my-fuse-online-project
.In the directory in which you downloaded the installation script, invoke the installation script:
bash install_ocp.sh
To learn about the installation script options, invoke the
bash install_ocp.sh --help
command.Confirm that the
syndesis
custom resource thatsyndesis-operator
used to install Fuse Online contains exactly the content that you want:Invoke the following command to display the
syndesis
custom resource content:oc describe syndesis/app
Check the content of the custom resource.
If it does not contain all of your updates, then there was probably a syntax error in the custom resource. You must uninstall Fuse Online and try again to define a valid custom resource. See Uninstalling Fuse Online from an OCP project.
Confirm that installation was successful:
Display the OpenShift OAuth proxy log-in page at
https://openshift-route
.If you chose to let the installation script calculate the OpenShift route, then the script displays the calculated route near the end of its execution. Replace
openshift-route
with the value that the script provided.If you edited the
default-cr.yml
file to specify therouteHostname
for Fuse Online, replaceopenshift-route
with the route that you specified.- If you are not already logged in to the OpenShift console, its log-in page appears. Enter your OpenShift user name and password to log in.
The Fuse Online home page appears either immediately or after you log in to the OpenShift console.
Additional resource