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 using HELM charts

Step 1 - Upgrade Axual Platform to 0.12.1

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

    helm repo update
  2. Upgrade Axual Platform

    helm upgrade --install platform axual-stable/platform --version=0.12.1 -n kafka

This command will restart the all axual-platform pods.

Verify the upgrade by checking the pods and their images:

  • [clusterShortName]-clusterbrowse pod uses image: docker.axual.io/axual/cluster-browse:1.5.0

  • [clusterShortName]-clusterapi pod uses image: docker.axual.io/axual/clusterapi:2.2.5

  • [tenantShortName]-[instanceShortName]-instance-api pod uses image: docker.axual.io/axual/instance-application:3.6.0

  • [tenantShortName]-[instanceShortName]-rest-proxy pod uses image: docker.axual.io/axual/rest-proxy:1.5.2

  • selfservice-streambrowse pod uses image: docker.axual.io/axual/stream-browse:1.4.0

  • selfservice-ui pod uses image: docker.axual.io/axual/axual-frontend:6.7.0

  • selfservice-api pod uses image: docker.axual.io/axual-api:6.16.0

  • selfservice-metricsexposer pod uses image: docker.axual.io/metricsexposer:0.8.0

  • selfservice-keycloak pod uses image: docker.axual.io/axual/axual-keycloak:19.0.2

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

Step 2 - Change SchemaRegistry URL in the Self-Service

After confirming that Cluster-Browse and Stream-Browse have been successfully updated, you can change the Schema Registry Url configured for your Instances in the Self-Service.

  1. Log in the Self-Service as a Tenant Admin

  2. Edit your instance

  3. Change the Schema Registry URL value to be the [tenantShortName]-[instanceShortName]-schema-registry-slave service-name

  4. Save your instance

  5. You are now able to Stream Browse messages using the HTTPS protocol

Step 3 - Upgrade Axual Operator to 0.8.1

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

    helm repo update
  2. Upgrade Axual Operator

    helm upgrade --install strimzi --set watchAnyNamespace=true axual-stable/axual-operator --version=0.8.1 -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.31.1

  • zookeeper pod uses image: docker.axual.io/axual/strimzi/kafka:0.31.1-kafka-3.2.0

  • kafka pod uses image: docker.axual.io/axual/strimzi/kafka:0.31.1-kafka-3.2.0

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

Step 4 - Upgrade Kafka to 3.2.3

After Axual Operator has been upgraded, Kafka can be upgraded to the latest version supported by Axual: 3.2.3.

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

    Example:

    platform:
      core:
        kafka:
          kafka:
            version: 3.2.3
  2. Upgrade Axual platform using the above modified values.yaml.

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

Verify the upgrade by checking the pods and their images:

  • zookeeper pod uses image: docker.axual.io/axual/strimzi/kafka:0.31.1-kafka-3.2.3

  • kafka pod uses image: docker.axual.io/axual/strimzi/kafka:0.31.1-kafka-3.2.3

Once restarted, verify everything is running fine.

Step 5 - Running Preview Alongside Regular UI (Optional)

In the below steps, we are going to set keycloak and helm chart to support the new UI.

Step 5a - Enabling Preview UI

A Preview UI is available to see exciting upcoming changes and features in the UI. The Preview UI is available alongside the regular UI.

  1. Login to keycloak master realm.

  2. Switch to the realm associated with the Tenant.

  3. Goto Clients

  4. Create a new client with the name self-service-preview.

  5. Copy client settings for self-service

  6. Change the Valid Redirect URLs to the preview url. Save the changes. This completes the Keycloak configuration.

  7. Configure the preview UI ingress with below configuration in mgmt/preview-ui sub-chart.

    global:
      previewui:
        enabled: true
      mgmt:
        previewUiUrl: 'preview-ui-url'
    preview-ui:
      ingress:
        enabled: true
        host: "dns-of-preview-url"
        annotations:
          nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
          nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
        className: nginx
        targetPortName: https
        secretName: "secret-containing-tls-certs"

Step 5b - Set previewUiUrl in Helm Chart

To show a link to the preview UI add the previewUiUrl with below configuration in mgmt sub-chart.

global:
  mgmt:
    previewUiUrl: 'preview-ui-url'
The Preview URL is available on a different DNS which must be configured to point to the Ingress IP or automatically via External DNS. Keycloak must also be configured

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.