Skip to content
Merged
Show file tree
Hide file tree
Changes from 19 commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
0437288
upgrade docs signifficant refinement
eedugon Jul 28, 2025
5687021
conflict solved
eedugon Jul 28, 2025
00bad20
docset updated
eedugon Jul 28, 2025
aef71ef
plan upgrade updated
eedugon Jul 28, 2025
19b49c0
link fixed, and minor update
eedugon Jul 28, 2025
cf7add6
compatibility checks updated
eedugon Jul 28, 2025
a165127
index compatibility and archive statemens improved
eedugon Jul 28, 2025
3cdd2b9
fixing links
eedugon Jul 28, 2025
37eb35a
positioning prepare upgrade doc
eedugon Jul 28, 2025
76261c9
upgrade order small update
eedugon Jul 28, 2025
d2f5954
next steps added in upgrade cluster
eedugon Jul 28, 2025
57bea11
APM server updated to Elastic APM
eedugon Jul 28, 2025
76a8723
8.18 statement updated
eedugon Jul 28, 2025
67b4fa1
upgrade paths updated
eedugon Jul 29, 2025
b204fdc
prepare upgrade minor change
eedugon Jul 29, 2025
4860f91
version.stack used
eedugon Jul 29, 2025
323df1d
Merge remote-tracking branch 'origin/main' into upgrade_9.1_admin
eedugon Jul 29, 2025
9cdf06e
frontmatters reviewed
eedugon Jul 29, 2025
c93e12a
archive wording change
eedugon Jul 29, 2025
168f2d0
Apply suggestions from code review
eedugon Jul 29, 2025
90f4ea5
Merge branch 'main' into upgrade_9.1_admin
eedugon Jul 29, 2025
254305f
Update deploy-manage/upgrade/prepare-to-upgrade.md
eedugon Jul 29, 2025
68acf6a
applying dcturner suggestions
eedugon Jul 29, 2025
a91332e
Apply suggestions from code review
eedugon Jul 30, 2025
1575ed9
applying Shaina's suggestions and small change in ECH upgrades
eedugon Jul 30, 2025
36603e6
Update deploy-manage/upgrade/prepare-to-upgrade.md
eedugon Jul 30, 2025
53231fa
applying suggestions
eedugon Jul 30, 2025
69172e9
flexible scheduling change
eedugon Jul 30, 2025
2f2f381
preparation intro update
eedugon Jul 30, 2025
4303303
stepper included in preparations
eedugon Jul 30, 2025
d1393ff
Merge branch 'main' into upgrade_9.1_admin
eedugon Jul 30, 2025
b1d62f5
availability during upgrades and some final refinement
eedugon Jul 31, 2025
9118992
Merge branch 'main' into upgrade_9.1_admin
eedugon Jul 31, 2025
db1e78c
minor update on upgrade order
eedugon Aug 1, 2025
2aa6077
minor update on plan example
eedugon Aug 1, 2025
24c944d
Merge branch 'main' into upgrade_9.1_admin
eedugon Aug 1, 2025
2244bf0
Merge branch 'main' into upgrade_9.1_admin
eedugon Aug 1, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion deploy-manage/deploy/cloud-on-k8s.md
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ ECK should work with all conformant **installers** listed in these [FAQs](https:

Alpha, beta, and stable API versions follow the same [conventions used by Kubernetes](https://kubernetes.io/docs/concepts/overview/kubernetes-api/#api-versioning).

### {{stack}} compatibility
### {{stack}} compatibility [stack-compatibility]

ECK is compatible with the following {{stack}} applications:

Expand Down
12 changes: 6 additions & 6 deletions deploy-manage/toc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -790,12 +790,6 @@ toc:
- file: upgrade.md
children:
- file: upgrade/plan-upgrade.md
- file: upgrade/orchestrator.md
children:
- file: upgrade/orchestrator/upgrade-cloud-enterprise.md
children:
- file: upgrade/orchestrator/re-running-the-ece-upgrade.md
- file: upgrade/orchestrator/upgrade-cloud-on-k8s.md
- file: upgrade/prepare-to-upgrade.md
children:
- file: upgrade/prepare-to-upgrade/upgrade-assistant.md
Expand All @@ -816,6 +810,12 @@ toc:
- file: upgrade/deployment-or-cluster/kibana-roll-back.md
- file: upgrade/deployment-or-cluster/enterprise-search.md
- file: upgrade/ingest-components.md
- file: upgrade/orchestrator.md
children:
- file: upgrade/orchestrator/upgrade-cloud-enterprise.md
children:
- file: upgrade/orchestrator/re-running-the-ece-upgrade.md
- file: upgrade/orchestrator/upgrade-cloud-on-k8s.md
- file: uninstall.md
children:
- file: uninstall/uninstall-elastic-cloud-enterprise.md
Expand Down
82 changes: 77 additions & 5 deletions deploy-manage/upgrade.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,86 @@
---
applies_to:
stack:
deployment:
eck:
ess:
ece:
self:
products:
- id: kibana
- id: cloud-enterprise
- id: cloud-hosted
- id: cloud-kubernetes
- id: elasticsearch
---

# Upgrade

Upgrading to the latest version provides access to the newest Elastic features, enhancements, performance improvements, and bug fixes. These updates reduce costs, speed up threat response, and improve investigative and analytical data tools.
Upgrading to the latest version provides access to the newest Elastic features, security patches, performance improvements, and bug fixes. These updates reduce costs, speed up threat response, and improve investigative and analytical data tools.

When Elastic releases new versions, older versions reach their end of life on a set schedule. To keep your deployment supported, stay up to date. For more information, refer to [Product End of Life Dates](https://www.elastic.co/support/eol).

::::{note}
With [{{serverless-full}}](/deploy-manage/deploy/elastic-cloud/serverless.md), upgrades are fully managed by Elastic. Users automatically receive the latest features and improvements, with no need to plan or perform upgrade steps.
::::

The upgrade procedure depends on how your deployment is managed. If you're using {{ech}} or {{ece}}, upgrades can often be performed with a single click in the {{ecloud}} UI. For self-managed deployments, upgrades must be carried out manually using a rolling upgrade process, upgrading the nodes one by one to minimize downtime and ensure cluster stability.

This section provides guidance to help you plan and safely perform upgrades of your Elastic Stack components, with a primary focus on {{es}} and {{kib}} as the core of the stack. It also covers upgrades for orchestration platforms like {{ece}} and {{eck}}, as well as related components such as APM, Beats, Elastic Agent, and Logstash.

:::{important}
In {{stack}} 9.0.0 and beyond, Enterprise Search is unavailable. For more information, refer to [Migrating to 9.x from Enterprise Search 8.x versions](https://www.elastic.co/guide/en/enterprise-search/8.18/upgrading-to-9-x.html).
:::

When Elastic releases new versions, older versions reach their end of life on a set schedule. To keep your deployment supported, stay up to date. For more information, refer to [Product End of Life Dates](https://www.elastic.co/support/eol).
## Upgrade overview

:::{note}
Upgrading from a release candidate build, such as 9.0.0-rc1, is unsupported. Use pre-releases only for testing in a temporary environment.
:::
Upgrading your Elastic cluster or deployment involves several stages, including planning, preparation, and execution. This section guides you through the full upgrade process:

- [Plan your upgrade](./upgrade/plan-upgrade.md): Review compatibility, define your upgrade path and order, and understand important pre-upgrade considerations.

- [Prepare to upgrade](./upgrade/prepare-to-upgrade.md): Follow detailed preparation steps for major, minor, and patch upgrades. Identify breaking changes, run the Upgrade Assistant (for major upgrades), and verify readiness.

- [Upgrade your deployment or cluster](./upgrade/deployment-or-cluster.md): Step-by-step instructions for performing the upgrade, organized by deployment type:

- [Upgrade deployments on {{ech}}](/deploy-manage/upgrade/deployment-or-cluster/upgrade-on-ech.md)
- [Upgrade deployments on {{ece}}](/deploy-manage/upgrade/deployment-or-cluster/upgrade-on-ece.md)
- [Upgrade deployments on {{eck}}](/deploy-manage/upgrade/deployment-or-cluster/upgrade-on-eck.md)
- [Upgrade self-managed clusters](/deploy-manage/upgrade/deployment-or-cluster/self-managed.md)

- [Upgrade ingest components](./upgrade/ingest-components.md): Covers supporting components such as Beats, Elastic Agent, Logstash, and APM Server.

Additionally, if you're using a self-managed orchestration platform such as {{ece}} or {{eck}}, refer to [Upgrade your ECE or ECK orchestrator](/deploy-manage/upgrade/orchestrator.md) to keep the orchestrator up to date.

## Upgrade paths [upgrade-paths]

You can upgrade to a higher version if the target version was released *after* your current version. Upgrades to versions released *before* your current version are not supported, even if the version number is higher. Refer to [out-of-order releases](/deploy-manage/upgrade/deployment-or-cluster.md#out-of-order-releases) for more information.

For example:
- ✅ Upgrade allowed: From 9.0.4 to 9.1.0 (9.1.0 released *after* 9.0.4)
- ❌ Not allowed: From 9.0.5 to 9.1.0 (9.1.0 released *before* 9.0.5) → wait for 9.1.1 to be released
<!--
Uncomment this examples when 9.1.1 is released.
- ✅ Upgrade allowed: From 9.0.5 to 9.1.1 (9.1.1 released *after* 9.0.5)
-->

### Upgrade paths from 8.x [upgrade-paths-8.x]

To perform a major upgrade from 8.x, the required starting version depends on the target release:

- To upgrade to the **9.0.x series**, you must be on **8.18.x**.
- To upgrade to **9.1.0 or later**, you must be on **8.19.x**, which is the latest minor release of the 8.x series.

::::{note}
While 8.19 is the final minor release in the 8.x series, 8.18 was released at the same time as 9.0, enabling a supported upgrade path between the 8.18.x and 9.0.x series. This compatibility also applies to other features and clients.
::::

The following upgrade paths from 8.x are valid for reaching the latest {{version.stack}} release:

* Versions prior to 8.18 → 8.19.x → {{version.stack}} *(recommended)*
* Versions prior to 8.18 → 8.18.x → 9.0.x → {{version.stack}}

#### Ingest tools and clients considerations

For flexible upgrade scheduling, 8.19 {{agent}}, {{beats}}, and {{ls}} are compatible with 9.x {{es}}.

By default, 8.x {{es}} clients are compatible with 9.x and use [REST API compatibility](elasticsearch://reference/elasticsearch/rest-apis/compatibility.md) to maintain compatibility with the 9.x cluster.
32 changes: 27 additions & 5 deletions deploy-manage/upgrade/deployment-or-cluster.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,17 +28,39 @@ products:

# Upgrade your deployment or cluster [upgrade-deployment-cluster]

When upgrading an existing cluster, you perform a minor or major upgrade. For example, a minor upgrade takes you from version 9.0.0 to 9.1.0, while a major upgrade takes you from version 8.0.0 to 9.0.0.
This section contains the actual upgrade instructions for {{es}} clusters and {{kib}} instances. Upgrade procedures depend on whether you installed Elastic components using Elastic-managed or self-managed infrastructure.

Upgrade procedures depend on whether you installed Elastic components using Elastic-managed or self-managed infrastructure.
## Prerequisites

Before proceeding with the upgrade, review the [Plan your upgrade](/deploy-manage/upgrade/plan-upgrade.md) guidance to understand compatibility and timing considerations, and follow the steps in [Prepare to upgrade](/deploy-manage/upgrade/prepare-to-upgrade.md) to get your environment ready for the upgrade.

## Out-of-order releases [out-of-order-releases]

Elastic maintains several minor versions of Elasticsearch at once. This means releases do not always happen in order of their version numbers. You can only upgrade to {{version.stack}} if the version you are currently running meets both of these conditions:

* Has an older version number than {{version.stack}}
* Has an earlier release date than {{version.stack}}

If you are currently running a version with an older version number but a later release date than {{version.stack}}, wait for a newer release before upgrading.

Additionally, upgrading from a release candidate build, such as 9.0.0-rc1, is unsupported. Use pre-releases only for testing in a temporary environment.

## Upgrade methods

If you’re using Elastic-managed infrastructure, use the following options:

* [Upgrade on {{ech}}](/deploy-manage/upgrade/deployment-or-cluster/upgrade-on-ech.md)
* Upgrade on [{{serverless-full}}](/deploy-manage/deploy/elastic-cloud/serverless.md), which is automatically performed by Elastic and requires no user management

If you’re using self-managed infrastructure - either on-prem or public cloud - use the following options:

* [Upgrade the {{stack}} on a self-managed cluster](/deploy-manage/upgrade/deployment-or-cluster/self-managed.md)
* [Upgrade on {{ece}} (ECE)](/deploy-manage/upgrade/deployment-or-cluster/upgrade-on-ece.md)
* [Upgrade on {{eck}} (ECK)](/deploy-manage/upgrade/deployment-or-cluster/upgrade-on-eck.md)
* [Upgrade your deployment on {{ece}} (ECE)](/deploy-manage/upgrade/deployment-or-cluster/upgrade-on-ece.md)
* [Upgrade your deployment on {{eck}} (ECK)](/deploy-manage/upgrade/deployment-or-cluster/upgrade-on-eck.md)

::::{note}
With [{{serverless-full}}](/deploy-manage/deploy/elastic-cloud/serverless.md), upgrades are fully managed by Elastic. Users automatically receive the latest features and improvements, with no need to plan or perform upgrade steps.
::::

## Next steps

Once you've successfully upgraded your deployment, you can [upgrade your ingest components](./ingest-components.md), such as {{ls}}, {{agent}}, or {{beats}}.
Original file line number Diff line number Diff line change
@@ -1,6 +1,13 @@
---
mapped_pages:
- https://www.elastic.co/guide/en/elasticsearch/reference/current/archived-settings.html
applies_to:
stack:
deployment:
eck:
ess:
ece:
self:
products:
- id: elasticsearch
---
Expand Down
19 changes: 15 additions & 4 deletions deploy-manage/upgrade/deployment-or-cluster/elasticsearch.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,20 +3,32 @@ applies_to:
stack:
deployment:
self: all
products:
- id: elasticsearch
---

# Upgrade {{es}} [upgrading-elasticsearch]

An {{es}} cluster can be upgraded one node at a time so upgrading does not interrupt service. Running multiple versions of {{es}} in the same cluster beyond the duration of an upgrade is not supported, as shards cannot be replicated from upgraded nodes to nodes running the older version.

Before you start, [take the upgrade preparation steps](/deploy-manage/upgrade/prepare-to-upgrade.md). When performing a [rolling upgrade](#rolling-upgrades):
:::{note}
Upgrading from a release candidate build, such as 9.0.0-rc1, is unsupported. Use pre-releases only for testing in a temporary environment.
:::

Before you start, [take the upgrade preparation steps](/deploy-manage/upgrade/prepare-to-upgrade.md).

## {{es}} nodes upgrade order

When performing a [rolling upgrade](#rolling-upgrades):

1. Upgrade the data nodes first, tier-by-tier, starting with the frozen tier, then the cold tier, then the warm tier, then the hot tier, and finally any other data nodes which are not in a tier. Complete the upgrade for all nodes in each data tier before moving to the next. This ensures {{ilm-init}} can continue to move data through the tiers during the upgrade. You can get the list of nodes in a specific tier with a `GET /_nodes` request, for example: `GET /_nodes/data_frozen:true/_none`.
2. Upgrade all remaining nodes that are neither master-eligible nor data nodes. This includes dedicated ML nodes, dedicated ingest nodes, and dedicated coordinating nodes.
3. Upgrade the master-eligible nodes last. You can retrieve a list of these nodes with `GET /_nodes/master:true/_none`.

This order ensures that all nodes can join the cluster during the upgrade. Upgraded nodes can join a cluster with an older master, but older nodes cannot always join a cluster with a upgraded master.

## Upgrade process

To upgrade a cluster:

1. **Disable shard allocation**.
Expand Down Expand Up @@ -45,10 +57,9 @@ To upgrade a cluster:
It is possible to leave your {{ml}} jobs running during the upgrade, but it puts increased load on the cluster. When you shut down a {{ml}} node, its jobs automatically move to another node and restore the model states.

::::{note}
Any {{ml}} indices created before 8.x must be reindexed before upgrading, which you can initiate from the **Upgrade Assistant** in 8.18. For more information, refer to [Anomaly detection results migration]
Any {{ml}} indices created before 8.x must be reindexed before upgrading, which you can initiate from the **Upgrade Assistant** in 8.19. For more information, refer to [Anomaly detection results migration]
::::


* Temporarily halt the tasks associated with your {{ml}} jobs and {{dfeeds}} and prevent new jobs from opening by using the [set upgrade mode API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-ml-set-upgrade-mode):

```console
Expand Down Expand Up @@ -187,7 +198,7 @@ To upgrade a cluster:



## Rolling upgrades [rolling-upgrades]
## Rolling upgrades considerations [rolling-upgrades]

During a rolling upgrade, the cluster continues to operate normally. However, any new functionality is disabled or operates in a backward compatible mode until all nodes in the cluster are upgraded. New functionality becomes operational once the upgrade is complete and all nodes are running the new version. Once that has happened, there’s no way to return to operating in a backward compatible mode. Nodes running the previous version will not be allowed to join the fully-updated cluster.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@
navigation_title: Roll back to a previous version
mapped_pages:
- https://www.elastic.co/guide/en/kibana/current/upgrade-migrations-rolling-back.html
applies_to:
deployment:
self: all
products:
- id: kibana
---
Expand Down
16 changes: 8 additions & 8 deletions deploy-manage/upgrade/deployment-or-cluster/kibana.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
---
applies_to:
stack:
deployment:
self: all
products:
- id: kibana
---

# Upgrade {{kib}} [upgrade-kibana]
Expand Down Expand Up @@ -53,21 +54,20 @@ To upgrade {{kib}}:

1. Shut down all {{kib}} instances. {{kib}} does not support rolling upgrades. **Upgrading while older {{kib}} instances are running can cause data loss or upgrade failures.**
2. To install the `deb` or `rpm` package:

a. Use `rpm` or `dpkg`. This installs all files in their proper locations and will not overwrite the config files.
b. Upgrade any plugins by removing the existing plugin and reinstalling the appropriate version using the `kibana-plugin` script. For more information, refer to [{{kib}} plugins](kibana://reference/kibana-plugins.md).
1. Use `rpm` or `dpkg`. This installs all files in their proper locations and will not overwrite the config files.
2. Upgrade any plugins by removing the existing plugin and reinstalling the appropriate version using the `kibana-plugin` script. For more information, refer to [{{kib}} plugins](kibana://reference/kibana-plugins.md).

3. To install from a `zip` or `tar.gz` archive:

a. **Extract the archive to a new directory** to be sure that you don’t overwrite the `config` or `data` directories.
b. Copy the files from the `config` directory from your old installation to your new installation.
c. Copy the files from the `data` directory from your old installation to your new installation.
1. **Extract the archive to a new directory** to be sure that you don’t overwrite the `config` or `data` directories.
2. Copy the files from the `config` directory from your old installation to your new installation.
3. Copy the files from the `data` directory from your old installation to your new installation.

::::{important}
If you use {{monitor-features}}, you must re-use the data directory when you upgrade {{kib}}. Otherwise, the {{kib}} instance is assigned a new persistent UUID and becomes a new instance in the monitoring data.
::::

d. Install the appropriate versions of all your plugins for your new installation using the `kibana-plugin` script. For more information, refer to [{{kib}} plugins](kibana://reference/kibana-plugins.md).
4. Install the appropriate versions of all your plugins for your new installation using the `kibana-plugin` script. For more information, refer to [{{kib}} plugins](kibana://reference/kibana-plugins.md).

4. Start {{kib}}.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ applies_to:
deployment:
ess:
self:
eck:
ece:
products:
- id: elasticsearch
---
Expand Down
3 changes: 3 additions & 0 deletions deploy-manage/upgrade/deployment-or-cluster/self-managed.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@ applies_to:
stack:
deployment:
self:
products:
- id: elasticsearch
- id: kibana
---

# Upgrade the {{stack}} on a self-managed cluster
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@ applies_to:
stack:
deployment:
ece:
products:
- id: kibana
- id: cloud-enterprise
- id: elasticsearch
---

# Upgrade your deployment on {{ece}} (ECE)
Expand All @@ -12,10 +16,8 @@ A single click in the {{ecloud}} console can upgrade a deployment running on ECE

Once you're [prepared to upgrade](/deploy-manage/upgrade/prepare-to-upgrade.md), do the following:

% Note: Add a link once confirmed where prepare to upgrade will reside in TOC.

1. Ensure your current ECE and Docker or Podman versions are [compatible](https://www.elastic.co/support/matrix/#elastic-cloud-enterprise) with the {{stack}} version you're upgrading to. For example, if you're upgrading to 9.0.0, the minimum required version is ECE 4.0. If you don’t have a compatible version installed, [upgrade your orchestrator](/deploy-manage/upgrade/orchestrator/upgrade-cloud-enterprise.md).
2. Download the most recent [stack pack](/deploy-manage/deploy/cloud-enterprise/manage-elastic-stack-versions.md#ece_most_recent_elastic_stack_packs) for the version you’re upgrading to, then [add the stack pack](/deploy-manage/deploy/cloud-enterprise/manage-elastic-stack-versions.md#ece-manage-elastic-stack-add) to your installation using the Cloud UI.
2. Download the most recent [stack pack](/deploy-manage/deploy/cloud-enterprise/manage-elastic-stack-versions.md#ece_most_recent_elastic_stack_packs) for the version you’re upgrading to, then [add the stack pack](/deploy-manage/deploy/cloud-enterprise/manage-elastic-stack-versions.md#ece-manage-elastic-stack-add) to your ECE installation using the Cloud UI.
3. If not configured already, [assign a snapshots repository](/deploy-manage/tools/snapshot-and-restore/cloud-enterprise.md) to your deployment to enable snapshots and back up your data. Although this is optional, we recommend this step.

## Perform the upgrade
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ applies_to:
ess:
products:
- id: cloud-hosted
- id: elasticsearch
- id: kibana
---

# Upgrade on {{ech}} (ECH)
Expand Down
Loading
Loading