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 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.
-
Update
clientAuth
value for Discovery APIFollowing 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 MappingPreviously
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
-
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.1
incore.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-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.
-
Modify the Kafka version in your
values.yaml
fileExample:
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 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.