1.5.0+ Upgrade Notice
In this guide we will describe the necessary steps to upgrade your Gloo Edge or Gloo Edge Enterprise deployments to their 1.5
versions using Helm
The guide assumes that you are running Gloo Edge 1.3.0+ or Gloo Edge Enterprise 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.
Upgrade prerequisites
You will need to have the following command line utilities installed:
- helm, either version 2.x or 3.x
glooctl
version 1.2.5+ (optional)
Upgrade steps
In Gloo Edge 1.5.0-beta8 and Gloo Edge Enterprise 1.5.0-beta3 we introduced a new
RateLimitConfig custom resource definition (CRD).
The new 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 helm upgrade
.
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
:
kubectl apply -f https://raw.githubusercontent.com/solo-io/gloo/v1.5.0/install/helm/gloo/crds/ratelimit_config.yaml
The second option involves using in the template that is shipped in the Gloo Edge and Gloo Edge enterprise charts.
helm repo update
helm pull gloo/gloo --version 1.5.0 --untar
kubectl apply -f gloo/crds/ratelimit_config.yaml
helm repo update
helm fetch gloo/gloo --version 1.5.0 --untar
kubectl apply -f gloo/crds/ratelimit_config.yaml
helm repo update
helm pull glooe/gloo-ee --version 1.5.0 --untar
kubectl apply -f gloo-ee/charts/gloo/crds/ratelimit_config.yaml
helm repo update
helm fetch glooe/gloo-ee --version 1.5.0 --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 Edge deployment
Now that we have installed the new CRD to cluster, you can upgrade your Gloo Edge deployment.
helm upgrade gloo gloo/gloo --namespace gloo-system --version 1.5.0
helm upgrade gloo glooe/gloo-ee --namespace gloo-system --version 1.5.0 --set license_key=YOUR_LICENSE_KEY
Verify upgrade
To verify that your upgrade was successful, let’s first check the version:
glooctl version
You should see the expected version for all the server components.
Let’s also check that your Gloo Edge installation is healthy by running:
glooctl check
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.