Chapter 1. Installing Fuse Online on OCP 4.x
Fuse Online is a flexible and customizable, open source platform that provides core integration capabilities as a service.
Each installation of Fuse Online is referred to as a Fuse Online instance (or environment). In a given OpenShift project, there can be exactly one Fuse Online instance. Each Fuse Online instance has its own URL. In a single OpenShift cluster, there can be multiple Fuse Online instances.
You can install Fuse Online as an OpenShift developer user (you do not need administrator privileges). You can install a default Fuse Online instance or a customized Fuse Online instance. For a customized Fuse Online instance, you must edit the default custom resource.
The Fuse Online installation process requires access to registry.redhat.io, which is the Red Hat catalog for container images.
The following topics provide details for installing Fuse Online:
- Section 1.1, “Overview of the steps required to install Fuse Online on OCP 4.x”
- Section 1.1.1, “Considerations for installing Fuse Online in a restricted environment (OCP 4.6 and later)”
- Section 1.2, “When editing the default custom resource is required before installing Fuse Online”
- Section 1.3, “Descriptions of custom resource attributes that configure Fuse Online”
- Section 1.4, “About configuring Fuse Online for Jaeger monitoring”
- Section 1.6.1, “Creating a secret to access the Red Hat registry”
- Section 1.6, “Installing Fuse Online”
1.1. Overview of the steps required to install Fuse Online on OCP 4.x Copy linkLink copied to clipboard!
To install Fuse Online on OCP 4.x, here are the main steps:
- Generate an OpenShift secret that configures Red Hat Service Registry authentication
- Install the Fuse Online Operator from the OperatorHub to a project (namespace) on the cluster.
- Optionally, if you want to include an external database for persisting connection and integration definitions, create an OpenShift secret.
Add a Fuse Online instance to an OpenShift 4.x project.
Optionally, edit the custom resource to enable one or more add-on features and/or implement one or more custom configuration settings.
1.1.1. Considerations for installing Fuse Online in a restricted environment (OCP 4.6 and later) Copy linkLink copied to clipboard!
Before you install Fuse Online in a restricted environment, you must complete the following tasks:
- Mirror all of the Fuse Online images to a location available on your private network. For more information about installing images for OpenShift operators in a restricted environment, see the Using Operator Lifecycle Manager on restricted networks section in the OpenShift documentation.
- Set up a custom Maven repository with the Fuse repository contents. See the Red Hat Solution “How to create an offline Maven repository for Fuse 7” https://access.redhat.com/solutions/3746581 for detailed information.
Edit the Fuse Online custom resource as described in Editing the default custom resource file before installing Fuse Online:
Use the
mavenRepositoriessetting to specify the offline Maven repository so that Fuse Online can fetch the needed dependencies when a developer builds and runs an integration.In the following example, replace
customRepowith the name of your offline Maven repository and replacehttps://customRepowith your offline repository’s URL:Copy to Clipboard Copied! Toggle word wrap Toggle overflow Disable the
todoaddon by changing theenabledvalue to false.spec: addons: todo: enabled: falsespec: addons: todo: enabled: falseCopy to Clipboard Copied! Toggle word wrap Toggle overflow
After you install Fuse Online in a restricted environment, optionally you can download the todo application from https://github.com/syndesisio/todo-example and follow the steps in the Readme file, changing the repository URL to the location available on your private network.
1.2. When editing the default custom resource is required before installing Fuse Online Copy linkLink copied to clipboard!
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.
1.3. Descriptions of custom resource attributes that configure Fuse Online Copy linkLink copied to clipboard!
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 Repositories | Set before or after installation |
|
|
Monitoring | Set before or after installation |
|
|
Public REST API | Set before or after installation |
|
|
ToDo app | Set before or after installation |
See also Adding a sample app to a Fuse Online environment running on OCP. |
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 Amazon RDS for PostgreSQL.
Internal storage capacity
The default setting of
1Giis 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-serverdatabase connection pool properties:-
connectionTimeout- The maximum number of milliseconds that thesyndesis-serverwaits 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.
-
1.4. About configuring Fuse Online for Jaeger monitoring Copy linkLink copied to clipboard!
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:
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
clientOnlytotrueto add Jaeger agent capabilities. -
Set
queryUrito the URI of the query component of the independently installed Jaeger backend. -
Set
collectorUrito the URI of the collector component of the independently installed Jaeger backend.
For example:
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:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Name the Jaeger custom resource
syndesis-jaegeras shown in the following example:Copy to Clipboard Copied! Toggle word wrap Toggle overflow Note: Alternately, if you want to use a different name for the Jaeger custom resource, set the
queryUriandcollectorUriin 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, this data is not shown in the Fuse Online activity log. To view this data in the Fuse Online activity log, create the following service:
1.5. Creating a secret for installing Fuse Online with an external database Copy linkLink copied to clipboard!
If you want to install a Fuse Online environment that uses an external database to persist connection and integration definitions, create an OpenShift secret, syndesis-global-config, before you install Fuse Online.
Prerequisites
-
For OCP 3.11 only, you edited the
default-cr.ymlfile to specify the use of an external database to persist connection and integration definitions. - Fuse Online is not yet installed.
-
The
occlient 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 developerCreate and save a resource file, for example,
my-fuse-onling-secret-cr.yml) that contains the following:Copy to Clipboard Copied! Toggle word wrap Toggle overflow Replace
my-fuse-online-projectwith 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
base64-encoded-valuewith a base64-encoded value that Fuse Online will use as the password for accessing the external database.For information about OpenShift secrets, see Secrets.
Add the secret to the cluster, for example:
oc apply -f my-fuse-online-secret-cr.yml
Result
In the 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.
Next step
For OCP 4.x, when you install Fuse Online by using the operator, edit the custom resource to specify the use of an external database to persist connection and integration definitions, as described in section Installing the Fuse Online Operator from the OperatorHub.
For OCP 3.11, follow the instructions in Editing the default custom resource file before installing Fuse Online.
1.6. Installing Fuse Online Copy linkLink copied to clipboard!
Fuse Online is a flexible and customizable, open source platform that provides core integration capabilities as a service. You can install Fuse Online as an OpenShift developer user (you do not need admin privileges).
Here are the general steps for installing Fuse Online by using the operator:
- Create a secret in the OpenShift project (namespace) to configure authentication to the Red Hat container registry so that the Fuse Online Operator can access the necessary installation templates.
- Install the Fuse Online Operator to an OpenShift project (namespace). When the operator is installed, the operator is running in the selected namespace.
- Create an instance of Fuse Online from the installed operator. You can create an instance with default settings or you can customize the instance by editing the instance’s custom resource. You can then access Fuse Online from the provided URL.
The following topics provide details for installing Fuse Online on OCP 4.x by using the operator:
1.6.1. Creating a secret to access the Red Hat registry Copy linkLink copied to clipboard!
On OCP 4.x, before you can install the Fuse Online Operator, for each OpenShift project into which you want to install the Fuse Online Operator, you must configure authentication to the Red Hat container registry by creating a secret.
Prerequisites
- You have access to the OpenShift cluster on which you want to install Fuse Online.
-
You installed the
occlient tool and it is connected to the OCP cluster on which you plan to install Fuse Online. - You know your login credentials (username, password, and email address) for either your Red Hat Customer Portal account or your Red Hat Developer Program account. If you do not wish to use your Red Hat account username and password to create a docker registry secret, you can create an authentication token by using a registry service account.
Procedure
In a Terminal window, log in to the OpenShift Server as an administration or as a developer:
For example, as an administrator:
oc login -u system:admin
oc login -u system:adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow For example, as a developer:
oc login -u developer -p developer
oc login -u developer -p developerCopy to Clipboard Copied! Toggle word wrap Toggle overflow Change to the OpenShift project where you want to install the operator:
oc project fuse-online
oc project fuse-onlineCopy to Clipboard Copied! Toggle word wrap Toggle overflow Create a docker-registry secret by using either your Red Hat Customer Portal account or your Red Hat Developer Program account credentials.
oc create secret docker-registry syndesis-pull-secret \ --docker-server=registry.redhat.io \ --docker-username=CUSTOMER_PORTAL_USERNAME \ --docker-password=CUSTOMER_PORTAL_PASSWORD \ --docker-email=EMAIL_ADDRESS
oc create secret docker-registry syndesis-pull-secret \ --docker-server=registry.redhat.io \ --docker-username=CUSTOMER_PORTAL_USERNAME \ --docker-password=CUSTOMER_PORTAL_PASSWORD \ --docker-email=EMAIL_ADDRESSCopy to Clipboard Copied! Toggle word wrap Toggle overflow If the command is successful, OpenShift returns the following output:
secret/syndesis-pull-secret created
secret/syndesis-pull-secret createdCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Next steps
After you install the operator (after you have created a subscription and the operator is running in the selected namespace) and before you a add Fuse Online instance, you must link the secret that you created to the operator service account as described in Section 1.6.2, “Installing the Fuse Online Operator from the OperatorHub”.
1.6.2. Installing the Fuse Online Operator from the OperatorHub Copy linkLink copied to clipboard!
You can install the Fuse Online Operator from OperatorHub by using the OpenShift Container Platform web console. Follow these steps for each OpenShift project (namespace) in which you want to install Fuse Online.
Prerequisites
- You have administrator or developer access to the OpenShift cluster.
- You have configured authentication to the Red Hat Container Registry as described in Creating a secret to access the Red Hat registry.
-
You installed the
occlient tool and it is connected to the OCP cluster on which you plan to install Fuse Online.
Procedure
- In a web browser, navigate to the OpenShift console in your browser and then log in to the console with your administrator or developer credentials.
-
If you are logged in as an administrator, click Operators and then click OperatorHub.
If you are logged in as a developer, click Add and then click the From Catalog card. - In the Filter by keyword field, type Fuse Online.
- Click the Red Hat Integration - Fuse Online card. The Fuse Online Operator install page opens.
Click Install. The Install Operator page opens.
The Update Channel defines a stream of updates for the operator and is used to roll out updates for subscribers. The value that you provide depends on your version of OCP 4.x:
- For OCP 4.6 (and later), type the channel as fuse-online-7.n where n is the current release number. For example, for Fuse 7.8, type fuse-online-v7.8.
- For Installation mode, select a namespace (project) from the list of namespaces on the cluster. Select the same namespace that you used when you created a docker registry secret in Creating a secret to access the Red Hat registry.
For the Approval Strategy, select Automatic or Manual to configure how OpenShift handles updates to the Fuse Online Operator.
- If you select Automatic updates, when a new version of the Fuse Online Operator is available, the OpenShift Operator Lifecycle Manager (OLM) automatically upgrades the running instance of the Fuse Online without human intervention.
- If you select Manual updates, when a newer version of an operator is available, the OLM creates an update request. A cluster administrator must then manually approve that update request to have the Fuse Online Operator updated to the new version.
- Click Install to make the Fuse Online Operator available in the specified namespace (project).
- To verify that Fuse Online is installed in the project, click Operators and then click Installed Operators to see Red Hat Integration - Fuse Online in the list.
In a Terminal window, type the following command to link the secret (that you created in Creating a secret to access the Red Hat registry) to the Fuse Online Operator service account:
oc secrets link syndesis-operator syndesis-pull-secret --for=pull
Next Steps
After the Fuse Online Operator is installed, you add an instance of Fuse Online to the OpenShift project.
1.6.3. Adding a Fuse Online instance to an OpenShift 4.x project Copy linkLink copied to clipboard!
After the Fuse Online Operator is installed in an OpenShift 4.x project, you add an instance of Fuse Online to the OpenShift project. The Fuse Online instance provides the URL that a developer uses to access Fuse Online.
Prerequisites
- The Fuse Online Operator is installed into the current OpenShift project.
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:
- Decide if you want to install a default Fuse Online instance or customized instance. For more information about the custom resource settings that you can specify, see When editing the default custom resource is required before installation.
Procedure
Follow these steps to access the Create Syndesis page depending on your user role:
If you are logged in as an administrator:
- Click Operators and then click Installed Operators.
- In the Name column, click Red Hat Integration - Fuse Online. The Operator Details page opens.
- Under Provided APIs, click Create Instance.
If you are logged in as a developer:
- Click Add and then click the Operator Backed card.
- Click the Syndesis CRD card. The Syndesis CRD page opens.
-
Click Create.
The Create Syndesis page opens.
- Enter a name or leave app as the default.
- Select the YAML view option to view the default custom resource.
Optional. Edit the custom resource.
For details on the custom resource settings that you can specify see When editing the default custom resource is required before installation and Descriptions of custom resource attributes that configure Fuse Online.
The Fuse Online installation process uses the settings that you specify in the custom resource to determine the configuration of the installed Fuse Online environment.
- Click Create to create the Fuse Online instance. OpenShift starts the pods, services, and other components for Fuse Online.
To obtain the URL for Fuse Online:
- Click Networking > Routes.
- Make sure that the correct project is selected.
- In the syndesis row, in the Location column, click the URL for Fuse Online.
- Use your OpenShift login credentials to login to the Fuse Online environment.