Updating Alauda Service Mesh

The strategy you use to deploy a service mesh affects how you can update the mesh.

TOC

Understanding versioning

Alauda Service Mesh follows Semantic Versioning for all product releases. Semantic Versioning uses a three-part version number in the format X.Y.Z to communicate the nature of changes in each release.

  • X (Major version): indicates significant updates that might include breaking changes, such as architectural shifts, API changes, or schema modifications.
  • Y (Minor version): introduces new features and enhancements while maintaining backward compatibility.
  • Z (Patch version or z-stream release): delivers critical bug fixes and security updates, such as Common Vulnerabilities and Exposures (CVEs) resolutions. Patch versions do not include new features.

Understanding Service Mesh and Istio versions

The Alauda Service Mesh Operator includes additional Istio releases for upgrades but supports only the latest Istio version available for each Operator version.

Understanding Operator updates and channels

The Operator Lifecycle Manager (OLM) manages Operators and their associated services by using channels to organize and distribute updates. Channels are a way to group related updates.

To ensure that your Alauda Service Mesh stays current with the latest security patches, bug fixes, and software updates, keep the Alauda Service Mesh Operator up to date. The upgrade process depends on the configured channel and approval strategy.

OLM provides the following channels for the Alauda Service Mesh Operator:

  • Stable channel: tracks the most recent version of the Alauda Service Mesh v2 Operator and the latest supported version of Istio. This channel enables upgrades to new operator versions and corresponding Istio updates as soon as they are released. Use the stable channel to stay current with the latest features, bug fixes, and security updates.
  • Versioned channel: restricts updates to patch-level releases within a specific minor version. For example, stable-2.0 provides access to the latest 2.0.8 patch version. When a new patch release becomes available, you can upgrade the Operator to the newer patch version. To move to a newer minor release, you must manually switch to a different channel. You can use a versioned channel to maintain a consistent minor version while applying only patch updates.

About Operator update process

Operator Lifecycle Manager (OLM) will generate an update request, which a cluster administrator must approve to update the Operator to the latest version.

The Operator update process does not automatically update the Istio control plane unless the Istio resource version is set to an alias (for example, vX.Y-latest) and the updateStrategy is set to InPlace.

This triggers a control plane update when a new version is available in the Operator. By default, the Operator will not update the Istio control plane unless the Istio resource is updated with a new version.

About Istio update process

After updating the Alauda Service Mesh v2 Operator, update the Istio control plane to the latest supported version. The Istio resource configuration determines how the control plane upgrade is performed, including which steps require manual action and which are handled automatically.

The Istio resource configuration includes the following fields that are relevant to the upgrade process:

  • spec.version

    specifies the version of Istio to install. Use the format vX.Y.Z, where X.Y.Z is the desired Istio release. For example, set the field to v1.26.3 to install Istio 1.26.3. Alternatively, set the value to an alias such as vX.Y-latest to automatically install the latest supported patch version for the specified minor release.

  • spec.updateStrategy

    defines the strategy for updating the Istio control plane. The available update strategies are InPlace and RevisionBased.

About Istio control plane update strategies

The update strategy affects how the update process is performed. The spec.updateStrategy field in the Istio resource configuration determines how the Alauda Service Mesh v2 Operator updates the Istio control plane. When the Operator detects a change in the spec.version field or identifies a new minor release with a configured vX.Y-latest alias, it initiates an upgrade procedure. For each mesh, you select one of two strategies:

  • InPlace
  • RevisionBased

InPlace is the default strategy for updating Alauda Service Mesh.