Upgrading Gloo Mesh

Upgrade Gloo Mesh Enterprise minor and patch versions. If you are on version 1.0 or earlier, uninstall and re-install Gloo Mesh Enterprise, as described in one of the setup guides.

During the upgrade, the data plane continues to run, but you might not be able to modify the configurations through the management plane. Because zero downtime is not guaranteed, try testing the upgrade in a staging environment before upgrading your production environment.

Before you begin

  1. Review the changelog for new features and fixes.
  2. In your terminal, set environment variables for your current and target Gloo Mesh Enterprise versions to use in the subsequent steps.
    # Set the version to upgrade to, such as the following example
    export UPGRADE_VERSION=1.1.5
    
    # Specify the values of your Gloo Mesh installation
    export NAMESPACE=gloo-mesh
    export GLOO_MESH_LICENSE_KEY=<your-key>
    

Step 1: Upgrade the CRDs for your management cluster

  1. Set your Kubernetes context to the management cluster.
    kubectl config set-context <cluster-name>
    
  2. Update the Helm repo for Gloo Mesh Enterprise.
    helm repo update
    
  3. Pull the latest Gloo Mesh Enterprise Helm chart files.
    helm pull gloo-mesh-enterprise/gloo-mesh-enterprise --version $UPGRADE_VERSION --untar
    
  4. Apply the Gloo Mesh Enterprise CRDs on your management cluster.
    kubectl apply -f gloo-mesh-enterprise/charts/enterprise-networking/charts/gloo-mesh-crds/crds/
    

Step 2: Upgrade the CRDs for each remote cluster

  1. Set your Kubernetes context to the remote cluster.
    kubectl config set-context <cluster-name>
    
  2. Update the Helm repo for Gloo Mesh Enterprise.
    helm repo update
    
  3. Pull the latest Gloo Mesh Enterprise Helm chart files.
    helm pull gloo-mesh-enterprise/gloo-mesh-enterprise --version $UPGRADE_VERSION --untar
    
  4. Apply the Gloo Mesh Enterprise CRDs on each remote cluster.
    kubectl apply -f gloo-mesh-enterprise/charts/enterprise-networking/charts/agent-crds/crds
    

Step 3: Upgrade and verify the Helm installation

  1. Set your Kubernetes context to the management cluster, and upgrade the Helm installation.

    helm upgrade gloo-mesh-enterprise --namespace $NAMESPACE \
    https://storage.googleapis.com/gloo-mesh-enterprise/gloo-mesh-enterprise/gloo-mesh-enterprise-$UPGRADE_VERSION.tgz \
    --set licenseKey=$GLOO_MESH_LICENSE_KEY \
    --set relayClientAuthority="enterprise-networking.gloo-mesh" \
    
  2. For each remote cluster, set your Kubernetes context to the cluster, and upgrade the Helm installation.

    helm upgrade enterprise-agent --namespace $NAMESPACE https://storage.googleapis.com/gloo-mesh-enterprise/enterprise-agent/enterprise-agent-$UPGRADE_VERSION.tgz
    
  3. Set the Kubernetes context to the management cluster and check that your Gloo Mesh Enterprise resources are in a healthy state. This check might take a few seconds to complete.

    meshctl check server