Upgrading kdb Insights Enterprise on Azure
To upgrade kdb Insights Enterprise you have to remove the current deployment and install the new version.
Data
This process does not remove kdb Insights Enterprise 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
- 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:
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.
- 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 |
- 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 |
- 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 |
- 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 |
- 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.