Performing the upgrade using HELM charts

Typical upgrade steps

A lot of the upgrade steps can be performed without impact on your users. Basically, the deployment or upgrade of components is split in two actions:

  1. Configuration changes, such as added or changed configuration parameters, including the new component’s version

  2. Deployment of the upgraded component, using the helm upgrade command.

Performing the upgrade

Step 1 - Update Discovery API Configuration

Since 2021.3 basic auth capabilities have been added to the platform. To accommodate for these, some changes need to be made to the configuration of Discovery-API.

  1. Update clientAuth value for Discovery API

    Following added support for basic authentication in Discovery API (read more here) the clientAuth configuration value has been changed. Use the following mapping if you wish to keep the same behavior.

    Table 1. clientAuth Configuration Mapping

    Previously

    From 2022.1

    false

    none

    true

    need

    Example:

    platform:
        instance:
          # Discovery API TLS protocol
          discoveryapi:
            tls:
              clientAuth: none

Step 2 - Upgrade Axual Platform

Upgrade Axual platform using the above modified configuration.

Perform the upgrade with the helm upgrade command, as follows:

helm upgrade --install platform axual-stable/platform -f values.yaml --version=0.8.0 -n kafka

Verify services are running without any error, before continuing with the next step.

Step 3 - Upgrade Axual Operator to 0.6.2

Step 3a - Upgrade Axual Operator

  1. Update the Axual helm repository to download the latest charts available

    helm repo update
  2. Verify the kafka version is set to the latest supported version: 2.8.1 in core.kafka.kafka.version

  3. Upgrade Axual Operator

    helm upgrade --install strimzi --set watchAnyNamespace=true axual-stable/axual-operator --version=0.6.2 -n kafka

This command will restart the strimzi-cluster-operator, zookeeper and kafka pods.

Verify the upgrade by checking the pods and their images:

  • strimzi-cluster-operator pod uses image: docker.axual.io/axual/strimzi/operator:0.27.1

  • zookeeper pod uses image: docker.axual.io/axual/strimzi/kafka:0.27.1-kafka-2.8.1

  • kafka pod uses image: docker.axual.io/axual/strimzi/kafka:0.27.1-kafka-2.8.1

Once restarted, verify everything is running fine before moving to next step.

Step 4 - Upgrade Kafka to 2.8.1

After Axual Operator has been upgraded, Kafka can be upgraded to the latest version supported by Axual 2.8.1. The upgrade of Kafka is executed in two steps: upgrading the Kafka binaries and upgrading the inter.broker.protocol.version and log.format.version. For both steps, a rolling restart of all the brokers is executed.

  1. Modify the Kafka version in your values.yaml file

    Example:

    platform:
      core:
        kafka:
          kafka:
            version: 2.8.1
            ...
            config:
              inter.broker.protocol.version: "2.8"
              log.message.format.version: "2.8"
              ...
  2. Upgrade Axual platform using the above modified values.yaml.

    helm upgrade --install platform axual-stable/platform -f values.yaml --version=0.8.0 -n kafka

    Verify:

    • Zookeeper will perform a rolling restart with a new docker image (0.27.1-kafka-2.8.1).

    • Kafka brokers will perform a rolling restart with a new docker image (0.27.1-kafka-2.8.1).

    • Verify everything is running fine.

That’s it!

No other steps are required to upgrade or configure the platform components. You can read through the release blog to find out what has changed since the last release and forward it to your colleagues.