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:
-
Configuration changes, such as added or changed configuration parameters, including the new component’s version
-
Deployment of the upgraded component, using the
helm upgradecommand.
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.
-
Update
clientAuthvalue for Discovery APIFollowing added support for basic authentication in Discovery API (read more here) the
clientAuthconfiguration value has been changed. Use the following mapping if you wish to keep the same behavior.Table 1. clientAuthConfiguration MappingPreviously
From 2022.1
falsenonetrueneedExample:
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
-
Update the Axual helm repository to download the latest charts available
helm repo update -
Verify the kafka version is set to the latest supported version:
2.8.1incore.kafka.kafka.version -
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-operatorpod uses image:docker.axual.io/axual/strimzi/operator:0.27.1 -
zookeeperpod uses image:docker.axual.io/axual/strimzi/kafka:0.27.1-kafka-2.8.1 -
kafkapod 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.
-
Modify the Kafka version in your
values.yamlfileExample:
platform: core: kafka: kafka: version: 2.8.1 ... config: inter.broker.protocol.version: "2.8" log.message.format.version: "2.8" ... -
Upgrade Axual platform using the above modified
values.yaml.helm upgrade --install platform axual-stable/platform -f values.yaml --version=0.8.0 -n kafkaVerify:
-
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.