manage deploy-knative-eventing

Install or upgrade the Red Hat® OpenShift® Serverless Knative Eventing software on the cluster.

Required role
Cluster administrator You must be a cluster administrator to run this command.

Extended description

If you plan to install IBM watsonx Assistant or IBM watsonx™ Orchestrate on IBM® Software Hub, you must install the following software on your cluster to set up a message broker for IBM watsonx Assistant.

  • Red Hat OpenShift Serverless Knative Eventing
  • IBM Events

The deploy-knative-eventing command installs the operators that are needed for the message broker:

Software Installation project
Red Hat OpenShift Serverless Operator

This software is installed in the openshift-serverless project.

Knative Eventing Operator

This software is installed in the knative-eventing project.

Knative Kafka Operator

This software is installed in the knative-eventing project.

IBM Events Operator

This software is installed in the ibm-knative-events project.

However, if you have an existing IBM Events Operator installation, you can optionally point to the operator associated with that installation if it is cluster-scoped.

Important: The IBM Events Operator that is provided by IBM Software Hub is not a cluster-scoped operator. The operator is scoped only to instances of IBM Software Hub.

In addition, the command sets up a Knative broker in the knative-eventing project. The broker is backed by an instance of Apache Kafka that is managed by the IBM Events Operator.

The command is recommended for the following scenarios:
  • Installing a proof-of-concept or evaluation environment
  • Setting up a simple Kafka instance for use with IBM Software Hub
If you want to set up a custom Kafka instance or you want to connect to an existing Kafka instance, follow the Red Hat OpenShift Serverless documentation:
Important: See Platform Agnostic Operators to confirm that the version of the Red Hat OpenShift Serverless Operator that you plan to install is compatible with the version of Red Hat OpenShift Container Platform that you are running.

Syntax

cpd-cli manage deploy-knative-eventing \
--release=<version> \
[--block_storage_class=<RWO-storage-class>] \
[--storage_vendor=portworx] \
[--from_oci=true|false] \
[--oci_location=<registry-URL>] \
[--events_operator_ns=<project-name>] \
[--patch_redhat_crd=true|false] \
[--demo_mode=true|false] \
[--upgrade=true|false]

Arguments

The deploy-knative-eventing command has no arguments.

Options

Table 1: Command options
Option Description
--block_storage_class The name of the storage class that supports RWO access.
Status
Required unless you use Portworx storage.

If you use Portworx storage, specify the --storage_vendor option instead.

This option is ignored if you set --upgrade=true.

Syntax
--block_storage_class=<RWO-storage-class>
Default value
No default.
Valid values
The name of a storage class that supports RWO access.
--demo_mode Specify whether to install resources that can be used to give an end-to-end demo of passing events through a Kafka broker.

This option is recommended for proof-of-concept and evaluation installations.

Status
Optional.
Syntax
--demo_mode=true|false
Default value
false

If you omit this option, the default value is used.

Valid values
false
Do not install the demo resources.
true
Install the resources that can be used to give an end-to-end demo of passing events through a Kafka broker.
--events_operator_ns The project for the IBM Events Operator.
Important: Specify this option only if you have an existing cluster-scoped instance of the IBM Events Operator that you want to use.

If you don't have an existing cluster-scoped instance of the IBM Events Operator, omit this option to enable the operator to be installed in the default project.

Status
Optional.
Syntax
--events_operator_ns=<project-name>
Default value
ibm-knative-events

If you omit this option, the default value is used.

Valid values
The project where the cluster-scoped IBM Events Operator is installed.
--from_oci Download CASE packages from the IBM Cloud Pak® Open Container Initiative (OCI) registry rather than from GitHub.

This option is recommended for environments that are not allowed to access GitHub (github.com).

Restriction: This setting applies only if you set --case_download=true.
Status
Optional.
Syntax
--from_oci=true|false
Default value
false

If you omit this option, the default value is used.

Valid values
false
Download the CASE packages from GitHub.
true
Download the CASE packages from the IBM Cloud Pak Open Container Initiative.
--oci_location The URL of the Open Container Initiative (OCI) registry from which you want to download CASE packages. For example, specify this option if you want to download the CASE packages from a private OCI registry.
Restriction: This setting applies only if you set --from_oci=true.
Status
Optional.
Syntax
--oci_location=<registry-URL>
Default value
cp.icr.io/cpopen

If you omit this option, the default value is used.

Valid values
The URL of the Open Container Initiative (OCI) registry from which you want to download CASE packages.
--patch_redhat_crd Specify whether to patch the knativeeventings.operator.knative.dev custom resource definition.

By default the deploy-knative-eventing command scales down any Red Hat OpenShift Serverless Knative Eventing replicas that it does not need to 0 (zero) to conserve vCPU and memory.

However, you can use this option to prevent the deploy-knative-eventing command from modifying the knativeeventings.operator.knative.dev custom resource.

Status
Optional.
Syntax
--patch_redhat_crd=true|false
Default value
true

If you omit this option, the default value is used.

Valid values
false
Do not patch the knativeeventings.operator.knative.dev custom resource. Leave all replicas running.
true
Patch the knativeeventings.operator.knative.dev custom resource to scale down unused replicas.
--release The release that you want to install or upgrade to.
Status
Required.
Syntax
--release=<version>
Default value
No default. You must specify the release.
Valid values
  • 5.3.0
--storage_vendor The type of storage that you are using.
Restriction: This option applies only if you are using the recommended storage class names with Portworx.

Specify this option to ensure that software uses the portworx-kafka-sc storage class to set up the backing store for the Kafka broker.

Status
Required only if you use Portworx storage.

If you use a different type of storage, specify the --block_storage_class option instead.

This option is ignored if you set --upgrade=true.

Syntax
--storage_vendor=portworx
Default value
No default.
Valid values
portworx
Specify portworx if you use the recommended storage class names for Portworx.
--upgrade Specify whether you are upgrading an existing instance of the IBM Events Operator.
Status
Required when you run an upgrade.
Syntax
--upgrade=true|false
Default value
false

If you omit this option, the default value is used.

Valid values
false
Do not upgrade the IBM Events Operator.
true
Upgrade an existing instance of the IBM Events Operator.
Important: This setting upgrades only the IBM Events Operator.
To upgrade the Red Hat OpenShift Serverless Operator, see Serverless upgrades in the Red Hat OpenShift Serverless documentation:

Examples

Note: The following example uses the recommended installation environment variables.

It is strongly recommended that you use a script to create environment variables with the correct values for your environment. For details, see Setting up installation environment variables.

Install the Red Hat OpenShift Serverless Knative Eventing software with IBM Fusion Data Foundation storage
cpd-cli manage deploy-knative-eventing \
--release=${VERSION} \
--block_storage_class=${STG_CLASS_BLOCK}
Install the Red Hat OpenShift Serverless Knative Eventing software with Portworx storage
cpd-cli manage deploy-knative-eventing \
--release=${VERSION} \
--storage_vendor=portworx
Install the Red Hat OpenShift Serverless Knative Eventing software pointing to an existing IBM Events Operator
cpd-cli manage deploy-knative-eventing \
--release=${VERSION} \
--block_storage_class=${STG_CLASS_BLOCK} \
--events_operator_ns=${PROJECT_IBM_EVENTS}
Install the Red Hat OpenShift Serverless Knative Eventing software and demo assets
cpd-cli manage deploy-knative-eventing \
--release=${VERSION} \
--block_storage_class=${STG_CLASS_BLOCK} \
--demo_mode=true
Upgrade the IBM Events Operator associated with an existing Red Hat OpenShift Serverless Knative Eventing installation
cpd-cli manage deploy-knative-eventing \
--release=${VERSION} \
--upgrade=true