Check Environment and Determine Upgrade Method
Audience: System Administrators
Content Summary: This guide outlines the process for upgrading Helm installations of Immuta in Kubernetes.
- Method A is for basic upgrades and is typically acceptable when moving between minor point releases of Immuta (such as
2.7.0
to2.7.1
).- Method B is a more involved method that leverages a full backup and restore procedure. This approach is needed when conducting more significant upgrades such as major releases (such as
2.6.x
to2.7.x
), when making large jumps in versions (for example going from2.5.x
to2.7.x
), or simply whenever advised by your Immuta professional.Method B can be used in all cases.
If using a Kubernetes namespace...
If deploying Immuta into a Kubernetes namespace other than the default, you must include the
--namespace
option into all helm
and kubectl
commands provided throughout this section.
Helm Upgrade Process
No Rollback
Immuta's migrations to your database are one way; this means that there is no way to revert back to an earlier version of the software. If you must rollback, you will need to backup and delete what you have and then proceed to restore from the backup to the appropriate version of the software.
No Modifying Persistence
Once persistence is set to either true
or false
for the database
or query-engine
, it cannot be changed for the
deployment. Modifying persistence will require a fresh installation or a full backup and restore procedure as per
Method B: Complete Backup and Restore Upgrade.
1 - Check Environment
1.1 - Check Helm Version
Immuta's Helm Chart requires Helm version 2.16+ or 3+.
- Helm 2.16+ is only supported for existing Immuta installations.
- New installations of Immuta must use the latest version of Helm 3 and Immuta's latest Chart.
Run helm version
to verify the version of Helm you are using:
helm version
version.BuildInfo{Version:"v3.0.2", GitCommit:"19e47ee3283ae98139d98460de796c1be1e3975f", GitTreeState:"clean", GoVersion:"go1.13.5"}
Client: &version.Version{SemVer:"v2.16.1", GitCommit:"bbdfe5e7803a12bbdf97e94cd847859890cf4050", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.16.1", GitCommit:"bbdfe5e7803a12bbdf97e94cd847859890cf4050", GitTreeState:"clean"}
If using Helm 2, ensure your Helm version matches Tiller in the cluster
Keeping your Helm version matched to your Tiller version is best practice and can avoid incompatibility issues.
Run helm version
to compare versions and ensure sync.
$ helm version
Client: &version.Version{SemVer:"v2.16.1", GitCommit:"bbdfe5e7803a12bbdf97e94cd847859890cf4050", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.16.1", GitCommit:"bbdfe5e7803a12bbdf97e94cd847859890cf4050", GitTreeState:"clean"}
1.2 - Configure Immuta's Helm Chart Repo
In order to deploy Immuta to your Kubernetes cluster, you must be able to access the Immuta Helm Chart Repository and the Immuta Docker Registry. You can obtain credentials and instructions to set up both of these by accessing the Immuta Release Portal.
Run helm repo list
to ensure Immuta's Helm Chart repository has been successfully added:
helm repo list
NAME URL
stable https://kubernetes-charts.storage.googleapis.com
local http://127.0.0.1:8879/charts
immuta https://archives.immuta.com/charts
If you do not create a Kubernetes Image Pull Secret, installation will fail.
As detailed in Immuta Release Portal, you must create a Kubernetes Image Pull Secret in the namespace that you are deploying Immuta in, or the installation will fail.
Run kubectl get secrets
to confirm your Kubernetes image pull secret is in place:
kubectl get secrets
NAME TYPE DATA AGE
immuta-registry kubernetes.io/dockerconfigjson 1 5s
1.3 - Check/Update Your Local Immuta Helm Chart Version
Run helm search repo immuta
to check the version of your local copy of Immuta's Helm Chart:
helm search repo immuta
NAME CHART VERSION APP VERSION DESCRIPTION
immuta/immuta 4.4.1 2.7.0 The Immuta
Update your local Chart by running helm repo update
.
To perform an upgrade without upgrading to the latest version of the Chart, run helm list
to determine the Chart
version of the installed release, and then specify that version using the --version
argument of helm repo update
.
1.4 - Confirm Connectivity with Your Current Immuta Helm Installation
Run helm list
to confirm Helm connectivity and verify the current Immuta installation:
helm list
NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
test 1 Tue Dec 17 01:04:36 2019 DEPLOYED immuta-4.2.3 2.6.0 ns
Make note of:
- NAME - This is the '
<YOUR RELEASE NAME>
' that will be used in the remainder of these instructions. - CHART - This is the version of Immuta's Helm Chart that your instance was deployed under.
1.5 - Confirm Access to the Helm Values Used in Your Current Immuta Installation
You will need the Helm values associated with your installation, which are typically stored in an
immuta-values.yaml
file. If you do not possess the original values file, these can be extracted from the existing
installation using:
helm get values <YOUR RELEASE NAME> > immuta-values.yaml
2 - Determine Your Upgrade Path
-
Use the table below to determine whether you should use Method A or Method B to upgrade:
Method A Method B Immuta Helm Chart version < 4.3 (pin Chart version to version of Chart retrieved above) Current Immuta version < 2.6.0 Minor revisions of Immuta (i.e., 2.8.0 -> 2.8.2) Major revisions of Immuta (i.e., 2.7.0 -> 2.8.0) -
Select your method.