Upgrade on Elastic Cloud

edit

Once you are prepared to upgrade, a single click in the Elastic Cloud console can upgrade a deployment to a newer version, add more processing capacity, change plugins, and enable or disable high availability, all at the same time. During the upgrade process, Elasticsearch, Kibana, and all of your deployment components are upgraded simultaneously.

Minor version upgrades, upgrades from 8.17 to 9.0.0-beta1, and cluster configuration changes can be performed with no downtime. Elastic Cloud only supports upgrades to released versions. Preview releases and master snapshots are not supported.

Elasticsearch Service and Elastic Cloud Enterprise do not support the ability to upgrade to or from release candidate builds, such as 8.0.0-rc1.

If you use a separate monitoring deployment, you should upgrade the monitoring deployment before the production deployment. In general, the monitoring deployment and the deployments being monitored should be running the same version of the Elastic Stack. A monitoring deployment cannot monitor production deployments running newer versions of the stack. If necessary, the monitoring deployment can monitor production deployments running the latest release of the previous major version.

Although it’s simple to upgrade an Elastic Cloud deployment, the new version might include breaking changes that affect your application. Make sure you review the deprecation logs, make any necessary changes, and test against the new version before upgrading your production deployment.

Upgrade Assistant
Prior to upgrading, Elastic Cloud checks the deprecation API to retrieve information about the cluster, node, and index-level settings that need to be removed or changed. If there are any issues that would prevent a successful upgrade, the upgrade is blocked. Use the Upgrade Assistant in 8.17 to identify and resolve issues and reindex any indices created before 7.0.
Snapshots

To keep your data safe during the upgrade process, a snapshot is taken automatically before any changes are made to your cluster. After a major version upgrade is complete and a snapshot of the upgraded cluster is available, all snapshots taken with the previous major version of Elasticsearch are stored in the snapshot repository.

From version 8.3, snapshots are generally available as simple archives. Use the archive functionality to search snapshots as old as version 5.0 without the need of an old Elasticsearch cluster. This ensures that data you store in Elasticsearch doesn’t have an end of life and is still accessible when you upgrade, without requiring a reindex process.

On Elastic Cloud Enterprise, you need to configure a snapshot repository to enable snapshots.

Breaking changes

Major version upgrades can include breaking changes that require you to take additional steps to ensure that your applications behave as expected after the upgrade. Make sure you test against the new version before upgrading existing deployments.

Review the Breaking changes and upgrade your code to work with 9.0.0-beta1.

Known issues
In Elasticsearch 7.8 and later, index lifecycle management (ILM) is always enabled, even if the cluster is still using deprecated index curation methods. If index curation and ILM are both configured to manage the same indices, the outcome can be unpredictable. Elastic solutions default to using ILM, and we strongly encourage you to migrate all of your indices to ILM.
Security realm settings

During the upgrade process, you are prompted to update the security realm settings if your user settings include a xpack.security.authc.realms value.

If the security realms are configured in user_settings, you’ll be prompted to modify the settings:

  1. On the Update security realm settings window, edit the settings.
  2. Click Update settings. If the security realm settings are located in user_settings_override, contact support to help you upgrade.

Perform the upgrade

edit

Log in to your Elastic Cloud environment:

  1. Log in to the Elasticsearch Service Console.
  2. Select your deployment on the home page in the Elasticsearch Service card or go to the deployments page.

    Narrow your deployments by name, ID, or choose from several other filters. To customize your view, use a combination of filters, or change the format from a grid to a list.

To upgrade a deployment:

  1. In the Deployment version section, click Upgrade.
  2. Select version 9.0.0-beta1.
  3. Click Upgrade and then Confirm upgrade. The new configuration takes a few minutes to create.

    If any incompatibilities are detected when you attempt to upgrade to 9.0.0-beta1, the UI provides a link to the Upgrade Assistant, which checks for deprecated settings in your cluster and indices and helps you resolve them. After resolving the issues, return to the deployments page and restart the upgrade.

Upgrading Elasticsearch clients and ingest components

edit

Once you have upgraded from 8.17, you need to update your Elasticsearch clients and ingest components in the following order:

Reindex to upgrade

edit

If you are running a pre-8.x version, you might need to perform multiple upgrades or a full-cluster restart to get to 8.17 to prepare to upgrade to 9.0.0-beta1.

Alternatively, you can create a new 9.0.0-beta1 deployment and reindex from remote:

  1. Provision an additional deployment running 9.0.0-beta1.
  2. Reindex your data into the new Elasticsearch cluster using reindex from remote and temporarily send new index requests to both clusters.
  3. Verify that the new cluster performs as expected, fix any problems, and then permanently swap in the new cluster.
  4. Delete the old deployment. On Elastic Cloud, you are billed only for the time that the new deployment runs in parallel with your old deployment. Usage is billed on an hourly basis.