You are viewing the documentation for the container-native version of IBM Event Streams.
Looking for the managed service on IBM Cloud? Click here.

Upgrading and migrating

Upgrade your installation of IBM Event Streams operator to 2.4.0 and operand to 10.4.0 as follows.

Upgrade paths

The following upgrade paths are available:

  • You can upgrade the Event Streams operator to version 2.4.0 directly from version 2.3.1 or 2.2.1.
  • You can upgrade the Event Streams operand to version 10.4.0 directly from version 10.3.1, 10.2.1-eus, 10.1.0, and 10.0.0.
  • If you have an earlier version than 10.0.0, you must first upgrade your Event Streams version to 10.0.0, before upgrading to 10.4.0.

Prerequisites

  • OpenShift 4.6 only: if you are upgrading Event Streams on OpenShift Container Platform version 4.6, manually add the CA certificate to a ConfigMap to ensure the Event Streams UI can read prometheus metrics.
  • Ensure you have followed the upgrade steps for IBM Cloud Pak for Integration before upgrading Event Streams.
  • The images for Event Streams release 10.4.0 are available in the IBM Cloud Container Registry. Ensure you redirect your catalog source to use icr.io/cpopen as described in Implementing ImageContentSourcePolicy to redirect to the IBM Container Registry.

  • To upgrade successfully, your Event Streams instance must have more than one ZooKeeper node or have persistent storage enabled. If you upgrade an Event Streams instance with a single ZooKeeper node that has ephemeral storage, all messages and all topics will be lost and both ZooKeeper and Kafka pods will move to an error state. To avoid this issue, increase the number of ZooKeeper nodes before upgrading as follows:

     apiVersion: eventstreams.ibm.com/v1beta1
     kind: EventStreams
     metadata:
       name: example-pre-upgrade
       namespace: myproject
     spec:
       strimziOverrides:
         zookeeper:
           replicas: 3
    

Upgrade process

The upgrade process requires the upgrade of the Event Streams operator, and then the upgrade of your Event Streams instances. Complete the steps in the following sections to upgrade your Event Streams installation.

Upgrade the Event Streams operator

  1. Log in to the OpenShift Container Platform web console using your login credentials.
  2. Expand Operators in the navigation on the left, and click Installed Operators.
    Operators > Installed Operators
  3. Locate the operator that manages your Event Streams instance in the namespace. It is called IBM Event Streams in the Name column.
  4. Click the IBM Event Streams link in the row and click the Subscription tab. This shows the Subscription details for the Event Streams operator.
  5. Select the version in the Channel section (for example, v2.2-eus). The Change Subscription update channel dialog is displayed, showing the channels that are available to upgrade to.
  6. Select v2.4 and click the Save button on the Change Subscription Update Channel dialog.

All Event Streams pods that need to be updated as part of the upgrade will be gracefully rolled. Where required ZooKeeper pods will roll one at a time, followed by Kafka brokers rolling one at a time.

Note: The number of containers in each Kafka broker will reduce from 2 to 1 as the TLS-sidecar container will be removed from each broker during the upgrade process.

Upgrade the Event Streams operand (instance)

  1. Click Installed Operators from the navigation on the left to show the list of installed operators that includes the upgraded IBM Event Streams operator.
  2. Select the IBM Event Streams operator from the list of Installed Operators.
  3. Select the Event Streams tab. This lists the Event Streams operands.
  4. Find your instance in the Name column and click the link for the instance.
  5. Select the YAML tab. The Event Streams instance custom resource is shown.
  6. In the YAML, change the version field to the required version, for example, 10.4.0.
  7. Click the Save button.

All Event Streams pods will gracefully roll again.

Verify the upgrade

  1. Wait for all Event Streams pods to complete the upgrade process. This is indicated by the Running state.
  2. Log in to your Red Hat OpenShift Container Platform as a cluster administrator by using the oc CLI.
  3. To retrieve a list of Event Streams instances, run the following command:
    oc get es -n <namespace>
  4. For the instance of Event Streams that you upgraded, check that the status returned by the command in the previous step is Ready.

Post-upgrade tasks

Enable metrics for monitoring

To display metrics in the monitoring dashboards of the Event Streams UI, ensure you enable the OpenShift Container Platform monitoring stack.

Retrieve the new URL for the UI

The previous URL for accessing the Event Streams UI is deprecated and will redirect to the 10.4.0 URL after upgrading.

You can also retrieve the URL for your Event Streams UI by following the steps in logging in.

Delete the eventstreams-cluster-operator operand request

When upgrading from an earlier version than 10.2.0, delete the previous eventstreams-cluster-operator operand request for the earlier operator version.

Event Streams uses operand request resources to declare the required IBM Cloud Pak foundational services components. In Event Streams version 10.2.0 and later, operand request resources are only created for individual instances of Event Streams. In versions 10.0.0 and 10.1.0, the operator also had an operand request created when installed. After upgrading to version 10.2.0 or later, you can delete the previous operand request for the earlier operator version as follows:

oc delete operandrequest -n <operator_namespace> eventstreams-cluster-operator

where <operator_namespace> is either the specific namespace where the operator was deployed to manage instances of Event Streams in that namespace only, or it is openshift-operators if the operator was deployed to manage instances of Event Streams in any namespace..

Upgrade the Kafka broker protocol version

After successfully upgrading to Event Streams 10.4.0 by completing all previous steps and verifying the cluster’s behavior and performance, change the following values in order to upgrade the Kafka brokers to version 2.8:

  1. Change the inter.broker.protocol.version value in the EventStreams custom resource to 2.8.
  2. Wait for the Kafka pods to roll.
  3. After the pods have rolled, change the log.message.format.version value in the EventStreams custom resource to 2.8.
  4. Wait for the pods to roll again.

Upgrade to use the Apicurio Registry

If you want to migrate from the deprecated Event Streams schema registry to Apicurio Registry, you will need to move your schemas to the new registry and reconfigure any applications that use those schemas to connect to the new registry, as described in migrating.