Supported versions

Review the following information about supported release versions for Gloo Mesh Enterprise, including dependencies on open source projects like Istio.

Supported versions

The following versions of Gloo Mesh Enterprise are supported with the compatible open source projects versions of Istio and Kubernetes. Later versions of the open source projects that are released after Gloo Mesh Enterprise might also work, but are not tested as part of the Gloo Mesh Enterprise release.

Gloo Mesh Enterprise Gloo Mesh Istio* Kubernetes
1.3 1.8 - 1.12 1.16 - 1.22
1.2 1.8 - 1.12 1.16 - 1.22
1.1 1.8 - 1.11 1.16 - 1.21
1.0 1.7 - 1.10 1.16 - 1.21

Additionally, the following Gloo Mesh Enterprise features require specific versions.

Gloo Mesh feature Required versions
directResponseAction in Gloo Mesh Gateway Gloo Mesh Istio 1.8 solo image or later
Multicluster subset routing in traffic policies Istio 1.8 or later
Rate limiting for Gloo Mesh Gateway Gloo Mesh Istio 1.8 solo image or later
XSLT filter Istio 1.11 or later

* Gloo Mesh Enterprise offers n-4 security patching support only with Gloo Mesh Istio versions, not community Istio versions. Gloo Mesh Istio versions support the same patch versions as community Istio. You can review community Istio patch versions in the Istio release documentation. You must run the latest Gloo Mesh Enterprise patch version to get the backported Istio support. For more considerations when installing Gloo Mesh Istio, see Download a specific image.

Istio and Kubernetes: Supported Kubernetes versions are dependent on Gloo Mesh API version compatibility and on the version of Istio that is installed. For example, you cannot use Gloo Mesh Enterprise with Istio 1.9 on a Kubernetes 1.22 cluster, because Istio 1.9 does not support Kubernetes 1.22. To review Istio support of Kubernetes versions, see the Istio documentation. OpenShift and Kubernetes: The Istio and Kubernetes versions also determines which version of OpenShift you can run. For example, if you have Istio 1.11 you can run OpenShift 4.8, which uses Kubernetes 1.21. To review OpenShift Kubernetes support, see the OpenShift changelog documentation for the version you want to use.

Istio versions 1.8.0, 1.8.1, and 1.8.2 have a known issue where sidecar proxies might not start under specific circumstances. This bug might surface in sidecars configured by Failover Services. This issue is resolved in Istio 1.8.3.

Version skew policy for management and remote clusters

Ideally, run the same versions of Gloo Mesh Enterprise and Kubernetes in your management and remote clusters. To give you time to upgrade all of the remote clusters, the Gloo Mesh enterprise-agent in the remote clusters can run up to one version behind the Gloo mesh enterprise-networking in the management clusters (n-1). Do not plan to run different versions of the enterprise networking and agent deployments on your management and remote clusters for longer than you need to complete the upgrade.

You do not need to install Istio on the management clusters. Remote clusters can run different versions of Istio. However, if you want to apply policies or other resources that require a certain version of Istio across remote clusters, make sure that the clusters run a supported version.

Upgrading versions

The upgrade process depends on which software you need to upgrade and your infrastructure provider.

Gloo Mesh Istio distributions

Gloo Mesh Istio is a hardened Istio enterprise image to maintain n-4 support for CVEs and other security fixes longer than the community Istio, which provides n-1 support with an additional 6 weeks of extended time to upgrade the n-2 version to n-1. Based on a cadence of 1 release every 3 months, Gloo Mesh's n-4 support provides an extra 9 months to run the hardened Istio version of your choice, compared to an open source strategy that also lacks enterprise support. Note that all backported functionality is available in the upstream community Istio, as there are no proprietary features or forked capabilities from community Istio.

The following image provides an overview of how Solo engineers harden the base Istio image release.

Solo image hardening overview

Solo provides two main distributions for Gloo Mesh Istio as follows.

Additionally, the standard and solo distributions of Istio come in several varieties as follows.

An image might be tagged to meet multiple use cases, such as 1.12.1-solo-fips-distroless.

To use a version of Istio that is no longer supported by the community with Gloo Mesh Enterprise, you must install the Gloo Mesh Istio version. If the Istio version that you want to use is currently supported by the community, you can use either the community Istio or the Gloo Mesh Istio version. To review supported community versions, see the Istio documentation.

Download a specific image

You can download a particular image for Gloo Mesh Enterprise and Gloo Mesh Istio, such as for the following use cases.

Get the Gloo Mesh Enterprise version that you want to use

  1. Find the version tag in the changelog, such as 1.3.0-beta7.
  2. To download the package for the enterprise-networking component that you deploy in your management clusters, append the <version_tag> to the following URL.
    https://storage.googleapis.com/gloo-mesh-enterprise/enterprise-networking/enterprise-networking-<version_tag>.tgz
    
  3. To download the package for the enterprise-agent component that you deploy in your remote data plane clusters, append the <version_tag> to the following URL.
    https://storage.googleapis.com/gloo-mesh-enterprise/enterprise-agent/enterprise-agent-<version_tag>.tgz
    
  4. Optional: For FIPS-compliant images, open the values.yaml file in the downloaded package, search for the image section, and append -fips to the tag, such as in the following example.
    ...
    enterpriseNetworking:
      image:
        pullPolicy: IfNotPresent
        registry: gcr.io/gloo-mesh
        repository: enterprise-networking
        tag: 1.3.0-beta7-fips
    
  5. Optional: If you need to pull the images locally, such as for an air-gapped installation, you can use the information you retrieved from the images section in the values.yaml file to pull the image. For example, you might use the following docker pull command for a FIPS image. Repeat this step for each image that you want to build locally and push to a private repository.
    docker pull gcr.io/gloo-mesh/enterprise-networking:1.3.0-beta7-fips
    
  6. Use these packages when you install Gloo Mesh Enterprise.

Get the Gloo Mesh Istio version that you want to use

To download Gloo Mesh Istio images, you must be a registered user and log in to the Solo Support Center.

  1. Open the Istio images built by Solo.io support article. When prompted, log in to the Support Center with your Solo account credentials.

  2. Find the repo key for the Istio version that you want to use in the support article, such as the repo key for # istio-1.12.

  3. Save the repo key that your account representative gave you as an environment variable.

    export REPO=<repo-key>
    
  4. Decide on the specific tag of Istio image, such as the solo-fips, solo-distroless, or solo-fips-distroless, that you want for your environment. For more information, see Gloo Mesh Istio distributions.

  5. Save the Istio version, including any specific tags, as an environment variable. The following example is for the latest patch version of the Gloo Mesh Istio FIPS image.

    export ISTIO_VERSION=1.12.1-solo-fips
    
  6. Pull the Istio images that you want to use with the repo key.

    docker pull $REPO/pilot:$ISTIO_VERSION
    docker pull $REPO/proxyv2:$ISTIO_VERSION
    docker pull $REPO/operator:$ISTIO_VERSION
    
  7. Install Istio with these images. Istio provides several installation methods, such as using istioctl, the Istio Operator, or Helm. When you install Istio, make sure to replace any images with the Gloo Mesh Enterprise images that you want to use. For more information, see the Istio documentation. For examples that set the hub and tag values in the Istio Operator to Gloo Mesh Istio, see one of the following installation guides.

  8. After installing Istio, you can verify that the version is compatible with your Kubernetes environment by running istioctl x precheck.

    istioctl x precheck
    
    ✔ No issues found when checking the cluster. Istio is safe to install or upgrade!
      To get started, check out https://istio.io/latest/docs/setup/getting-started/
    

Release lifecycle

Typically, Gloo Mesh Enterprise releases a new minor version, n, each quarter. Make sure that you run a supported version for production environments, and keep that version upgraded to the latest patch version so that you have the latest security fixes. For more information, see Upgrading Gloo Mesh Enterprise.

Version Supported? Type Description
n Yes Latest The latest stable version is the default version when you view the documentation. New features are typically not developed for the latest version, but the version is actively maintained for security patches, bugs, and documentation.
n-2 Yes Stable Supported versions up to n-2 continue to receive support for security patches, bugs, and documentation. You can review the documentation for these versions by switching the documentation to the main branch from the dropdown in the menu bar.
n+1 No Beta Active feature development happens on the main branch as part of the development of a beta version. When the n+1 beta version is prepared as a release candidate, new feature development is suspended until this version becomes the new n. You can preview the documentation for some of these features by switching the documentation to the main branch from the dropdown in the menu bar. New features and development work on main is subject to change, not necessarily fully tested, and not supported.
n-3 No Unsupported Versions that are n-3 or older are no longer supported or maintained. Upgrade your release to a stable version to continue to receive support.

Open source packages in Gloo Mesh Enterprise

For specific versions of open sources packages that are bundled with Gloo Mesh Enterprise, see the entries in the Open Source Attribution topic. For more information on where these open source packages are retrieved from, see the go.mod documentation.

Help me choose which version to run

  1. Consider your container platform environment, particularly which cloud provider and version of Kubernetes that you want to run. Compare the version against the table of supported versions for Gloo Mesh Enterprise.
  2. Review the features that are available in a particular version of the software.
  3. Decide if you need to run a specific image, such as the FIPS version of Gloo Mesh Istio for FedRAMP compliance.
  4. Follow the Setup guides, modifying the steps to install the particular versions that you want to use.