1.10.0+ Upgrade Notice
Follow these steps to upgrade your Gloo Edge or Gloo Edge Enterprise deployments to version 1.10 from previous verisions.
This upgrade guide assumes that you installed Gloo Edge with Helm or glooctl
. You can verify this installation by checking for a Helm chart release named gloo
in the output of helm ls --all-namespaces
.
For steps to avoid downtime during upgrades, check out the Recommended settings.
New CRDs
New CRDs are automatically applied to your cluster when performing a helm install
operation.
However, they are not applied when performing an helm upgrade
operation. This is a deliberate design choice on the part of the
Helm maintainers, given the risk associated with changing CRDs. Given this limitation, you need to apply the new CRD to the cluster before upgrading.
Gloo Edge v1.10.0 introduces The GraphQLSchema CRD . Gloo Edge v1.10.8 introduces The MatchableHttpGateway CRD .
Installing the new GraphQLSchema CRD
You can add the new CRD to your cluster in two ways. The first is to supply a URL that points to the CRD template in the public Gloo Edge GitHub repository.
kubectl apply -f https://raw.githubusercontent.com/solo-io/gloo/v1.10.0/install/helm/gloo/crds/graphql_schema.yaml
helm repo update
helm upgrade -n gloo-system gloo gloo/gloo --version=1.10.0
kubectl apply -f https://raw.githubusercontent.com/solo-io/gloo/v1.10.0/install/helm/gloo/crds/graphql_schema.yaml
helm repo update
helm upgrade -n gloo-system glooe gloo/gloo-ee --version=1.10.0
The second option involves using the template that is shipped in the Gloo Edge and Gloo Edge enterprise charts.
helm repo update
helm pull gloo/gloo --version 1.10.0 --untar
kubectl apply -f gloo/crds/graphql_schema.yaml
helm repo update
helm pull glooe/gloo-ee --version 1.10.0 --untar
kubectl apply -f gloo-ee/charts/gloo/crds/graphql_schema.yaml
You can verify that the new CRD has been successfully applied by running the following command:
kubectl get crds graphqlschemas.graphql.gloo.solo.io
Installing the new MatchableHttpGateway CRD
You can add the new CRD to your cluster in two ways. The first is to supply a URL that points to the CRD template in the public Gloo Edge GitHub repository.
kubectl apply -f https://raw.githubusercontent.com/solo-io/gloo/v1.10.8/install/helm/gloo/crds/gateway.solo.io_v1_MatchableHttpGateway.yaml
helm repo update
helm upgrade -n gloo-system gloo gloo/gloo --version=1.10.8
kubectl apply -f https://raw.githubusercontent.com/solo-io/gloo/v1.10.8/install/helm/gloo/crds/gateway.solo.io_v1_MatchableHttpGateway.yaml
helm repo update
helm upgrade -n gloo-system glooe gloo/gloo-ee --version=1.10.8
The second option involves using the template that is shipped in the Gloo Edge and Gloo Edge enterprise charts.
helm repo update
helm pull gloo/gloo --version 1.10.8 --untar
kubectl apply -f gloo/crds/gateway.solo.io_v1_MatchableHttpGateway.yaml
helm repo update
helm pull glooe/gloo-ee --version 1.10.8 --untar
kubectl apply -f gloo-ee/charts/gloo/crds/gateway.solo.io_v1_MatchableHttpGateway.yaml
You can verify that the new CRD has been successfully applied by running the following command:
kubectl get crds httpgateways.gateway.gloo.solo.io
Helm Breaking Changes
- Prior to Gloo Edge Enterprise version v1.10,
license_secret_name
could be specified at the top level of your helmvalues.yaml
file. However, in order to use this option now, this must be specified undergloo.license_secret_name
.
--- values.yaml ---
license_secret_name: some-license-secret
# the above becomes
--- new-values.yaml ---
gloo:
license_secret_name: some-license-secret
Upgrade Gloo Edge
Upgrade Gloo Edge.
helm repo update
helm upgrade -n gloo-system gloo gloo/gloo --version=1.10.0
helm repo update
helm upgrade -n gloo-system gloo glooe/gloo-ee --version=1.10.0
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 VirtualHostOptions... OK
Checking RouteOptions... OK
Checking secrets... OK
Checking virtual services... OK
Checking gateways... OK
Checking proxies... OK
No problems detected.