Skip to content

Upgrading KX Insights on Azure

To upgrade KX Insights you have to remove the current deployment and install the new version.

Data

This process does not remove the KX Insights configuration data or the database.

Pre-requisites

When upgrading, all utilities such as the KXI CLI, Helm and Kubectl should be present on the administrators local machine.

  • Access to the Azure Portal
  • Access to the Kubernetes Cluster Overview
  • Access to Cloud Shell or Azure CLI
  • Access the values URL or a local copy of the values.yaml
  • Helm (at least 3.8.0)
  • Kubectl
  • KXI CLI

Maintenance Windows

Currently, the upgrade process will require downtime to ensure data integrity. This means that before any upgrade is scheduled the steps below must be taken.

Warning

Upgrading from v1.2.0 Marketplace release has a known issue. Keycloak was upgraded in v1.2.1 which contained non backward compatible changes. The PostgreSQL secret format has changed, and existingSecret from values.yaml has an extra nested key, as described in the above paragraph. Please make sure values.yaml has the extra auth nested key, and that the secret containing PostgreSQL passwords, usually called kxi-postgresql, has dropped the postgresql prefix from the data keys.

Stop existing data ingestion

Data ingestion will be suspended during upgrade. Stop all feeds into Insights to avoid data loss with inflight data.

Removing the existing deployment

  • Connect to the Kubernetes Cluster.

    • On the Overview blade of the Kubernetes service resource, click on 'Connect’.
    • Connect to the cluster using the Azure CLI method and running the suggested commands.
  • Define variables

INSIGHTS_VERSION=desired version
KXI_OPERATOR_VERSION=most of the time the same version
  1. Execute the upgrade:
kxi azure upgrade --version "${INSIGHTS_VERSION}" --operator-version "${KXI_OPERATOR_VERSION}"

By default, the upgrade process will use install values stored in the installation itself, but it is also possible to define via URL of values file:

  • Values file

Values file can be provided with the --filepath parameter.

  • URL

Values URL can be provided with the --values-url parameter. To get the values URL copy it from the Kubernetes service resource Output page: kxiConfigUrl

Checking the upgrade

Check the system is running correctly after the upgrade by taking the following steps:

Deployment Specifics

Everything with italic font will be specific to each deployment.

  1. KXI Assembly CRDs have redeployed:
kubectl get crds assemblies.insights.kx.com
NAME CREATED AT
assemblies.insights.kx.com time
kubectl get crds assemblyresources.insights.kx.com
NAME CREATED AT
assemblyresources.insights.kx.com time
  1. KXI Operator is installed:
helm ls -n kxi-operator
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
kxi-operator kxi-operator 1 time deployed kxi-operator-version version
  1. KXI base charts is installed:
helm ls -n insights
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
insights insights 1 time deployed insights-version version
kxi-lic-enrol insights 1 time deployed kxi-lic-enrol-version version
kxi-lic-renew insights 1 time deployed kxi-lic-renew-version version
  1. KXI Operator is in a running state:
kubectl get pods -n kxi-operator
NAME AGE READY STATUS RESTARTS
insights-aggregator-id-id time 1/1 RUNNING 0
insights-kxi-operator-id-id time 1/1 RUNNING 0
insights-kxi-operator-id-id time 1/1 RUNNING 0
  1. KX Insights is in a running state:
kubectl get pods -n insights
NAME AGE READY STATUS
insights-aggregator-id-id time 2/2 RUNNING
insights-sg-gateway-id-id time 1/1 RUNNING
insights-sg-gateway-id-id time 1/1 RUNNING

Upgrading AKS Cluster

Warning

If you have deployed rook-ceph, please do not use the Azure AKS rolling upgrade feature. There are known issues with this. Please reach out to KX Support team for assistance.