1.5.0+ Upgrade Notice
This guide is a work in progress. We will be adding new content while working towards the
1.5.0 stable release.
In this guide we will describe the necessary steps to upgrade your Gloo or Gloo Enterprise deployments to their
versions using Helm
The guide assumes that you are running Gloo 1.3.0+ or Gloo Enterprise Gloo 1.3.0+. If you need to upgrade from earlier versions, you should consider an intermediate upgrade to the 1.3 versions. In this case, please refer to the 1.3.0 upgrade guide
This upgrade guide also assumes that was gloo installed via
helm or with
glooctl version 1.2.0+
(i.e., gloo is a helm release named “gloo”, which you can confirm exists by running
helm ls --all-namespaces).
Also, please make sure to check out our general configuration recommendations to avoid downtime during upgrades.
You will need to have the following command line utilities installed:
- helm, either version 2.x or 3.x
glooctlversion 1.2.5+ (optional)
In Gloo 1.5.0-beta8 and Gloo Enterprise 1.5.0-beta3 we introduced a new
RateLimitConfig custom resource definition (CRD).
RateLimitConfig CRD will be automatically applied to your cluster when performing a
helm install operation.
However, it will not be applied when performing an upgrade. This is a deliberate design choice
on part of the Helm maintainers, given the risk associated with changing CRDs.
Given this limitation, we need to apply the new CRD to the cluster before running
Installing the new RateLimitConfig CRD
You can add the new CRD to your cluster in two ways. The first is to simply supply a URL that points to the CRD template
in the public gloo GitHub repository to
kubectl apply -f https://raw.githubusercontent.com/solo-io/gloo/v1.5.0-beta8/install/helm/gloo/crds/ratelimit_config.yaml
The second option involves using in the template that is shipped in the Gloo and Gloo enterprise charts.
helm repo update helm pull gloo/gloo --version 1.5.0-beta8 --untar kubectl apply -f gloo/crds/ratelimit_config.yaml
helm repo update helm fetch gloo/gloo --version 1.5.0-beta8 --untar kubectl apply -f gloo/crds/ratelimit_config.yaml
helm repo update helm pull glooe/gloo-ee --version 1.5.0-beta3 --untar kubectl apply -f gloo-ee/charts/gloo/crds/ratelimit_config.yaml
helm repo update helm fetch glooe/gloo-ee --version 1.5.0-beta3 --untar kubectl apply -f gloo-ee/charts/gloo/crds/ratelimit_config.yaml
You can verify that the new CRD has been successfully applied by running the following command:
kubectl get crds ratelimitconfigs.ratelimit.solo.io
Upgrading the Gloo deployment
Now that we have installed the new CRD to cluster, you can upgrade your Gloo deployment.
helm upgrade gloo gloo/gloo --namespace gloo-system --version 1.5.0-beta8
helm upgrade gloo glooe/gloo-ee --namespace gloo-system --version 1.5.0-beta3 --set license_key=YOUR_LICENSE_KEY
To verify that your upgrade was successful, let’s first check the version:
You should see the expected version for all the server components (
1.5.0-beta8 for Gloo components,
for Gloo Enterprise ones).
Let’s also check that your Gloo installation is healthy by running:
If everything went well, you should see the following output:
Checking deployments... OK Checking pods... OK Checking upstreams... OK Checking upstream groups... OK Checking auth configs... OK Checking rate limit configs... OK Checking secrets... OK Checking virtual services... OK Checking gateways... OK Checking proxies... OK Checking rate limit server... OK No problems detected.